test475: verify a 72K ASCII FTP upload

Extended the test format and runtest.pl so that the verify/upload part
can be marked using crlf newlines even when the client/file does not
have it.

Closes #14717
This commit is contained in:
Daniel Stenberg 2024-08-29 09:53:28 +02:00
parent cc8b813765
commit ee17f35d43
No known key found for this signature in database
GPG Key ID: 5CC908FDB71E12C2
4 changed files with 53 additions and 2 deletions

View File

@ -692,8 +692,11 @@ content
### `<stripfile4>`
### `<upload>`
### `<upload [crlf="yes"]>`
the contents of the upload data curl should have sent
`crlf=yes` forces *upload* newlines to become CRLF even if not written so in
the source file.
### `<valgrind>`
disable - disables the valgrind log check for this test

View File

@ -77,7 +77,7 @@ test435 test436 test437 test438 test439 test440 test441 test442 test443 \
test444 test445 test446 test447 test448 test449 test450 test451 test452 \
test453 test454 test455 test456 test457 test458 test459 test460 test461 \
test462 test463 test467 test468 test469 test470 test471 test472 test473 \
test474 \
test474 test475 \
\
test490 test491 test492 test493 test494 test495 test496 test497 test498 \
test499 test500 test501 test502 test503 test504 test505 test506 test507 \

45
tests/data/test475 Normal file
View File

@ -0,0 +1,45 @@
<testcase>
<info>
<keywords>
FTP
EPSV
STOR
TYPE A
</keywords>
</info>
# Client-side
<client>
<server>
ftp
</server>
<name>
FTP PASV upload ASCII file
</name>
<file name="%LOGDIR/test%TESTNUMBER.txt">
%repeat[1750 x a line of text used for verifying this !%0a]%
</file>
<command>
"ftp://%HOSTIP:%FTPPORT/%TESTNUMBER;type=a" -T %LOGDIR/test%TESTNUMBER.txt
</command>
</client>
# Verify data after the test has been "shot"
<verify>
<strip>
QUIT
</strip>
<upload crlf="yes">
%repeat[1750 x a line of text used for verifying this !%0a]%
</upload>
<protocol>
USER anonymous
PASS ftp@example.com
PWD
EPSV
TYPE A
STOR %TESTNUMBER
QUIT
</protocol>
</verify>
</testcase>

View File

@ -1489,6 +1489,9 @@ sub singletest_check {
eval $strip;
}
}
if($hash{'crlf'}) {
subnewlines(1, \$_) for @upload;
}
$res = compare($runnerid, $testnum, $testname, "upload", \@out, \@upload);
if ($res) {