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. - + 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. + +The contents of numbered datacheck sections are appended to the non-numbered +one. + number to return on a ftp SIZE command (set to -1 to make this command fail) @@ -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) {