diff options
author | Dan Fandrich <dan@coneharvesters.com> | 2017-05-06 09:04:00 +0200 |
---|---|---|
committer | Dan Fandrich <dan@coneharvesters.com> | 2017-05-06 09:04:00 +0200 |
commit | ba5fa1c7a825da75da6f0686ee89e2b64a9cb0f5 (patch) | |
tree | 5406a9235155add175feae8bce933f8749604435 /tests | |
parent | 6dc3422d48b002887ae3a78afdf626f792397c06 (diff) |
runtests.pl: simplify the datacheck read section
Also, document that numbered datacheck sections are possible.
Diffstat (limited to 'tests')
-rw-r--r-- | tests/FILEFORMAT | 12 | ||||
-rwxr-xr-x | tests/runtests.pl | 33 |
2 files changed, 17 insertions, 28 deletions
diff --git a/tests/FILEFORMAT b/tests/FILEFORMAT index 04a6daeb7..5c1e96f53 100644 --- a/tests/FILEFORMAT +++ b/tests/FILEFORMAT @@ -86,11 +86,18 @@ The connect section is used instead of the 'data' for all CONNECT requests. The remainder of the rules for the data section then apply but with a connect prefix. </connect> -<datacheck [nonewline="yes"]> +<datacheck [mode="text"] [nonewline="yes"]> if the data is sent but this is what should be checked afterwards. If 'nonewline' is set, we will cut off the trailing newline of this given data -before comparing with the one actually received by the client +before comparing with the one actually received by the client. + +Use the mode="text" attribute if the output is in text mode on platforms that +have a text/binary difference. </datacheck> +<datacheckNUM [nonewline="yes"] [mode="text"]> +The contents of numbered datacheck sections are appended to the non-numbered +one. +</datacheckNUM> <size> number to return on a ftp SIZE command (set to -1 to make this command fail) </size> @@ -176,6 +183,7 @@ ftp-ipv6 ftps http http-ipv6 +http-pipe http-proxy http-unix https diff --git a/tests/runtests.pl b/tests/runtests.pl index 68ff3933e..48e26142f 100755 --- a/tests/runtests.pl +++ b/tests/runtests.pl @@ -3333,31 +3333,12 @@ sub singletest { } logmsg sprintf("test %04d...", $testnum) if(!$automakestyle); - # extract the reply data - my @reply = getpart("reply", "data"); - my @replycheck = getpart("reply", "datacheck"); - my %replyattr = getpartattr("reply", "data"); - my %replycheckattr = getpartattr("reply", "datacheck"); - - if (@replycheck) { - # we use this file instead to check the final output against - # get the mode attribute - my $filemode=$replycheckattr{'mode'}; - if($filemode && ($filemode eq "text") && $has_textaware) { - # text mode when running on windows: fix line endings - map s/\r\n/\n/g, @replycheck; - map s/\n/\r\n/g, @replycheck; - } - if($replycheckattr{'nonewline'}) { - # Yes, we must cut off the final newline from the final line - # of the datacheck - chomp($replycheck[$#replycheck]); - } - - for my $partsuffix (('1', '2', '3', '4')) { + my @reply; + if (partexists("reply", "datacheck")) { + for my $partsuffix (('', '1', '2', '3', '4')) { my @replycheckpart = getpart("reply", "datacheck".$partsuffix); - if(@replycheckpart || partexists("reply", "datacheck".$partsuffix) ) { + if(@replycheckpart) { my %replycheckpartattr = getpartattr("reply", "datacheck".$partsuffix); # get the mode attribute my $filemode=$replycheckpartattr{'mode'}; @@ -3371,13 +3352,13 @@ sub singletest { # of the datacheck chomp($replycheckpart[$#replycheckpart]); } - push(@replycheck, @replycheckpart); + push(@reply, @replycheckpart); } } - - @reply=@replycheck; } else { + # check against the data section + @reply = getpart("reply", "data"); # get the mode attribute my $filemode=$replyattr{'mode'}; if($filemode && ($filemode eq "text") && $has_textaware) { |