diff options
author | Marc Hoersken <info@marc-hoersken.de> | 2015-12-26 10:59:22 +0100 |
---|---|---|
committer | Marc Hoersken <info@marc-hoersken.de> | 2015-12-26 11:01:47 +0100 |
commit | a9ebd1bddc5c548341bcbb6848dfaebaef69627d (patch) | |
tree | 289f0831f3c5c04cb1ae4b502b3e5035b7c836fd /tests/runtests.pl | |
parent | 90c2d215d7f8231c9160f5571ac40566457264ae (diff) | |
download | curl-a9ebd1bddc5c548341bcbb6848dfaebaef69627d.tar.gz |
runtests.pl: check up to 5 data parts with different text modes
Move the text-mode conversion for reply/replycheck from the verify
section into the load section and add support for 4 more check parts.
Diffstat (limited to 'tests/runtests.pl')
-rwxr-xr-x | tests/runtests.pl | 46 |
1 files changed, 35 insertions, 11 deletions
diff --git a/tests/runtests.pl b/tests/runtests.pl index 3f43b97d3..3c38acc9d 100755 --- a/tests/runtests.pl +++ b/tests/runtests.pl @@ -3284,18 +3284,50 @@ sub singletest { 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]); } - if($replycheckattr{'mode'}) { - $replyattr{'mode'} = $replycheckattr{'mode'}; + + for my $partsuffix (('1', '2', '3', '4')) { + my @replycheckpart = getpart("reply", "datacheck".$partsuffix); + if(@replycheckpart || partexists("reply", "datacheck".$partsuffix) ) { + my %replycheckpartattr = getpartattr("reply", "datacheck".$partsuffix); + # get the mode attribute + my $filemode=$replycheckpartattr{'mode'}; + if($filemode && ($filemode eq "text") && $has_textaware) { + # text mode when running on windows: fix line endings + map s/\r\n/\n/g, @replycheckpart; + map s/\n/\r\n/g, @replycheckpart; + } + if($replycheckpartattr{'nonewline'}) { + # Yes, we must cut off the final newline from the final line + # of the datacheck + chomp($replycheckpart[$#replycheckpart]); + } + push(@replycheck, @replycheckpart); + } } @reply=@replycheck; } + else { + # get the mode attribute + my $filemode=$replyattr{'mode'}; + if($filemode && ($filemode eq "text") && $has_textaware) { + # text mode when running on windows: fix line endings + map s/\r\n/\n/g, @reply; + map s/\n/\r\n/g, @reply; + } + } # this is the valid protocol blurb curl should generate my @protocol= fixarray ( getpart("verify", "protocol") ); @@ -3831,14 +3863,6 @@ sub singletest { if(!$replyattr{'nocheck'} && (@reply || $replyattr{'sendzero'})) { # verify the received data my @out = loadarray($CURLOUT); - # get the mode attribute - my $filemode=$replyattr{'mode'}; - if($filemode && ($filemode eq "text") && $has_textaware) { - # text mode when running on windows: fix line endings - map s/\r\n/\n/g, @reply; - map s/\n/\r\n/g, @reply; - } - $res = compare($testnum, $testname, "data", \@out, \@reply); if ($res) { return 1; |