summaryrefslogtreecommitdiff
path: root/tests/runtests.pl
diff options
context:
space:
mode:
authorMarc Hoersken <info@marc-hoersken.de>2015-12-26 10:59:22 +0100
committerMarc Hoersken <info@marc-hoersken.de>2015-12-26 11:01:47 +0100
commita9ebd1bddc5c548341bcbb6848dfaebaef69627d (patch)
tree289f0831f3c5c04cb1ae4b502b3e5035b7c836fd /tests/runtests.pl
parent90c2d215d7f8231c9160f5571ac40566457264ae (diff)
downloadgnurl-a9ebd1bddc5c548341bcbb6848dfaebaef69627d.tar.gz
gnurl-a9ebd1bddc5c548341bcbb6848dfaebaef69627d.tar.bz2
gnurl-a9ebd1bddc5c548341bcbb6848dfaebaef69627d.zip
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-xtests/runtests.pl46
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;