From 43e1e1cd1a2443234a0eeff9f11835b77fec0cff Mon Sep 17 00:00:00 2001 From: Daniel Stenberg Date: Tue, 21 Nov 2000 19:28:11 +0000 Subject: upload check, better ability to specify test cases on the command line --- tests/runtests.pl | 51 ++++++++++++++++++++++++++++++++++++++------------- 1 file changed, 38 insertions(+), 13 deletions(-) diff --git a/tests/runtests.pl b/tests/runtests.pl index 34a7dec11..298b83478 100755 --- a/tests/runtests.pl +++ b/tests/runtests.pl @@ -186,7 +186,7 @@ sub comparefiles { # silly win-crap binmode S; binmode D; - + my $m = 20; my ($snum, $dnum, $s, $d); do { @@ -196,7 +196,7 @@ sub comparefiles { ($s ne $d)) { print "$source and $dest differ\n"; $res=1; - last; + $snum=0; } } while($snum); close(S); @@ -330,6 +330,21 @@ sub singletest { # this is the valid protocol file we should generate my $PROT="$TESTDIR/prot$NUMBER.txt"; + # redirected stdout/stderr here + $STDOUT="$LOGDIR/stdout$NUMBER"; + $STDERR="$LOGDIR/stderr$NUMBER"; + + # if this file exists, we verify that the stdout contained this: + my $VALIDOUT="$TESTDIR/stdout$NUMBER.txt"; + + # if this file exists, we verify upload + my $UPLOAD="$TESTDIR/upload$NUMBER.txt"; + + if(! -r $CURLCMD) { + # this is not a test + next; + } + # name of the test open(N, "<$TESTDIR/name$NUMBER.txt") || print "** Couldn't read name on test $NUMBER\n"; @@ -337,13 +352,6 @@ sub singletest { close(N); $DESC =~ s/[\r\n]//g; - # redirected stdout/stderr here - $STDOUT="$LOGDIR/stdout$NUMBER"; - $STDERR="$LOGDIR/stderr$NUMBER"; - - # if this file exist, we verify that the stdout contained this: - my $VALIDOUT="$TESTDIR/stdout$NUMBER.txt"; - print "test $NUMBER..."; if(!$short) { print "[$DESC]\n"; @@ -432,19 +440,30 @@ sub singletest { } } else { - if (! -r $REPLY) { + if (! -r $REPLY && -r $CURLOUT) { print "** Missing reply data file for test $NUMBER", ", should be similar to $CURLOUT\n"; return 1; } - # verify the received data - $res = compare($CURLOUT, $REPLY, "data"); + if( -r $CURLOUT ) { + # verify the received data + $res = compare($CURLOUT, $REPLY, "data"); + if ($res) { + return 1; + } + } + } + + if(-r $UPLOAD) { + # verify uploaded data + $res = compare("$LOGDIR/upload.$NUMBER", $UPLOAD, "upload"); if ($res) { return 1; } } + if (! -r $PROT) { print "** Missing protocol file for test $NUMBER", ", should be similar to $SERVERIN\n"; @@ -507,6 +526,7 @@ sub singletest { # Check options to this test program # +my @testthis; do { if ($ARGV[0] eq "-v") { # verbose output @@ -534,10 +554,15 @@ EOHELP exit; } elsif($ARGV[0] =~ /^(\d+)/) { - $TESTCASES=$ARGV[0]; # run these tests + push @testthis, $1; } } while(shift @ARGV); +if($testthis[0] ne "") { + $TESTCASES=join(" ", @testthis); +} + + ####################################################################### # Output curl version and host info being tested # -- cgit v1.2.3