From: Yang Tse Date: Fri, 1 Jun 2012 03:37:00 +0000 (+0200) Subject: tests: support test definitions with up to 5 file checks in section X-Git-Tag: curl-7_27_0~314 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=00dd45720e64f29d06de249ca5cd70e93c6a6b68;p=thirdparty%2Fcurl.git tests: support test definitions with up to 5 file checks in section This is done introducing tags to besides existing one, as well as corresponding to ones, that can be used in the section in the same way as the non-numbered ones. --- diff --git a/tests/runtests.pl b/tests/runtests.pl index a984e8cce1..65dd9610ba 100755 --- a/tests/runtests.pl +++ b/tests/runtests.pl @@ -3496,53 +3496,55 @@ sub singletest { $ok .= "-"; # protocol not checked } - my @outfile=getpart("verify", "file"); - if(@outfile) { - # we're supposed to verify a dynamically generated file! - my %hash = getpartattr("verify", "file"); - - my $filename=$hash{'name'}; - if(!$filename) { - logmsg "ERROR: section verify=>file has no name attribute\n"; - stopservers($verbose); - # timestamp test result verification end - $timevrfyend{$testnum} = Time::HiRes::time() if($timestats); - return -1; - } - my @generated=loadarray($filename); + my $outputok; + for my $partsuffix (('', '1', '2', '3', '4')) { + my @outfile=getpart("verify", "file".$partsuffix); + if(@outfile) { + # we're supposed to verify a dynamically generated file! + my %hash = getpartattr("verify", "file".$partsuffix); + + my $filename=$hash{'name'}; + if(!$filename) { + logmsg "ERROR: section verify=>file$partsuffix ". + "has no name attribute\n"; + stopservers($verbose); + # timestamp test result verification end + $timevrfyend{$testnum} = Time::HiRes::time() if($timestats); + return -1; + } + my @generated=loadarray($filename); - # what parts to cut off from the file - my @stripfile = getpart("verify", "stripfile"); + # what parts to cut off from the file + my @stripfile = getpart("verify", "stripfile".$partsuffix); - my $filemode=$hash{'mode'}; - if($filemode && ($filemode eq "text") && $has_textaware) { - # text mode when running on windows means adding an extra - # strip expression - push @stripfile, "s/\r\n/\n/"; - } + my $filemode=$hash{'mode'}; + if($filemode && ($filemode eq "text") && $has_textaware) { + # text mode when running on windows means adding an extra + # strip expression + push @stripfile, "s/\r\n/\n/"; + } - my $strip; - for $strip (@stripfile) { - chomp $strip; - for(@generated) { - eval $strip; + my $strip; + for $strip (@stripfile) { + chomp $strip; + for(@generated) { + eval $strip; + } } - } - @outfile = fixarray(@outfile); + @outfile = fixarray(@outfile); - $res = compare("output", \@generated, \@outfile); - if($res) { - # timestamp test result verification end - $timevrfyend{$testnum} = Time::HiRes::time() if($timestats); - return 1; - } + $res = compare("output ($filename)", \@generated, \@outfile); + if($res) { + # timestamp test result verification end + $timevrfyend{$testnum} = Time::HiRes::time() if($timestats); + return 1; + } - $ok .= "o"; - } - else { - $ok .= "-"; # output not checked + $outputok = 1; # output checked + } } + $ok .= ($outputok) ? "o" : "-"; # output checked or not # accept multiple comma-separated error codes my @splerr = split(/ *, */, $errorcode);