diff options
author | Daniel Stenberg <daniel@haxx.se> | 2000-11-17 15:58:25 +0000 |
---|---|---|
committer | Daniel Stenberg <daniel@haxx.se> | 2000-11-17 15:58:25 +0000 |
commit | 0def60bf9ddc8271d214faee48c6575fe000279f (patch) | |
tree | 0515603108ffa3a429b99846e102e25e4c07e810 /tests | |
parent | 1665435040291fc4e2f38adfe066663e8eaf2145 (diff) |
now supports checks for exit codes and check for memory even when curl
returns (expected) exit code
Diffstat (limited to 'tests')
-rwxr-xr-x | tests/runtests.pl | 74 |
1 files changed, 51 insertions, 23 deletions
diff --git a/tests/runtests.pl b/tests/runtests.pl index bbe993642..e76f5d3d2 100755 --- a/tests/runtests.pl +++ b/tests/runtests.pl @@ -335,13 +335,41 @@ sub singletest { my $res = system("$CMDLINE"); $res /= 256; + my $ERRORCODE = "$TESTDIR/error$NUMBER.txt"; + if ($res != 0) { - print "*** Failed to invoke curl for test $NUMBER ***\n", - "*** [$DESC] ***\n", - "*** The command line was: ***\n $CMDLINE\n"; - return 1; + # the invoked command return an error code + + my $expectederror=0; + + if(-f $ERRORCODE) { + open(ERRO, "<$ERRORCODE"); + $expectederror = <ERRO>; + close(ERRO); + # strip non-digits + $expectederror =~ s/[^0-9]//g; + } + + if($expectederror != $res) { + + print "*** Failed to invoke curl for test $NUMBER ***\n", + "*** [$DESC] ***\n", + "*** The command returned $res for: ***\n $CMDLINE\n"; + return 1; + } + elsif(!$short) { + print " error OK"; + } } else { + if(-f $ERRORCODE) { + # this command was meant to fail, it didn't and thats WRONG + if(!$short) { + print " error FAILED"; + } + return 1; + } + if ( -r "$VALIDOUT" ) { # verify redirected stdout $res = compare($STDOUT, $VALIDOUT, "data"); @@ -385,27 +413,27 @@ sub singletest { unlink($STDOUT); unlink($STDERR); - if($memory_debug) { - if(! -f $memdump) { - print "\n** ALERT! memory debuggin without any output file?\n"; + } + if($memory_debug) { + if(! -f $memdump) { + print "\n** ALERT! memory debuggin without any output file?\n"; + } + else { + my @memdata=`$memanalyze < $memdump`; + my $leak=0; + for(@memdata) { + if($_ =~ /Leak detected/) { + $leak=1; + } + } + if($leak) { + print "\n** MEMORY LEAK\n"; + print @memdata; + return 1; } else { - my @memdata=`$memanalyze < $memdump`; - my $leak=0; - for(@memdata) { - if($_ =~ /Leak detected/) { - $leak=1; - } - } - if($leak) { - print "\n** MEMORY LEAK\n"; - print @memdata; - return 1; - } - else { - if(!$short) { - print " memory OK"; - } + if(!$short) { + print " memory OK"; } } } |