Loading tests/FILEFORMAT +10 −2 Original line number Diff line number Diff line Loading @@ -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> Loading Loading @@ -176,6 +183,7 @@ ftp-ipv6 ftps http http-ipv6 http-pipe http-proxy http-unix https Loading tests/runtests.pl +7 −26 Original line number Diff line number Diff line Loading @@ -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'}; Loading @@ -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) { Loading Loading
tests/FILEFORMAT +10 −2 Original line number Diff line number Diff line Loading @@ -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> Loading Loading @@ -176,6 +183,7 @@ ftp-ipv6 ftps http http-ipv6 http-pipe http-proxy http-unix https Loading
tests/runtests.pl +7 −26 Original line number Diff line number Diff line Loading @@ -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'}; Loading @@ -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) { Loading