mirror of
https://github.com/moparisthebest/curl
synced 2024-12-22 08:08:50 -05:00
Added <postcheck> support to the test harness.
This commit is contained in:
parent
37171809f6
commit
28dde78dde
@ -105,8 +105,8 @@ NOSAVE
|
||||
- Don't actually save what is received
|
||||
SLOWDOWN
|
||||
- Send FTP responses with 0.1 sec delay between each byte
|
||||
PASVBADIP - makes PASV send back an illegal IP in its 227 response
|
||||
- Send back a bad IP in the PASV response
|
||||
PASVBADIP
|
||||
- makes PASV send back an illegal IP in its 227 response
|
||||
|
||||
For HTTP/HTTPS:
|
||||
auth_required - if this is set and a POST/PUT is made without auth, the
|
||||
@ -173,6 +173,12 @@ output is displayed by the command, the test will be skipped and the
|
||||
Variables are substituted as in the <command> section.
|
||||
</precheck>
|
||||
|
||||
<postcheck>
|
||||
A command line that if set gets run by the test script after the test. If
|
||||
the command exists with a non-zero status code, the test will be considered
|
||||
to have failed. Variables are substituted as in the <command> section.
|
||||
</postcheck>
|
||||
|
||||
<tool>
|
||||
Name of tool to use instead of "curl". This tool must be built and exist
|
||||
in the libtest/ directory.
|
||||
|
10
tests/README
10
tests/README
@ -81,16 +81,18 @@ TEST CASE NUMBERS
|
||||
So far, I've used this system:
|
||||
|
||||
1 - 99 HTTP
|
||||
100 - 199 FTP
|
||||
200 - 299 FILE
|
||||
100 - 199 FTP*
|
||||
200 - 299 FILE*
|
||||
300 - 399 HTTPS
|
||||
400 - 499 FTPS
|
||||
500 - 599 libcurl source code tests, not using the curl command tool
|
||||
600 - 699 SCP/SFTP
|
||||
700 - 799 miscellanous*
|
||||
|
||||
Since 30-apr-2003, there's nothing in the system that requires us to keep
|
||||
within these number series. Each test case now specifies its own server
|
||||
requirements, independent of test number.
|
||||
within these number series, and those sections marked with * actually
|
||||
contain tests for a variety of protocols. Each test case now specifies
|
||||
its own server requirements, independent of test number.
|
||||
|
||||
TODO:
|
||||
|
||||
|
@ -1633,6 +1633,7 @@ sub singletest {
|
||||
my $dumped_core;
|
||||
my $cmdres;
|
||||
|
||||
# Apr 2007: precommand isn't being used and could be removed
|
||||
my @precommand= getpart("client", "precommand");
|
||||
if($precommand[0]) {
|
||||
# this is pure perl to eval!
|
||||
@ -1654,7 +1655,7 @@ sub singletest {
|
||||
}
|
||||
# run the command line we built
|
||||
if ($torture) {
|
||||
return torture($CMDLINE,
|
||||
$cmdres = torture($CMDLINE,
|
||||
"$gdb --directory libtest $DBGCURL -x log/gdbcmd");
|
||||
}
|
||||
elsif($gdbthis) {
|
||||
@ -1692,6 +1693,20 @@ sub singletest {
|
||||
}
|
||||
}
|
||||
|
||||
# run the postcheck command
|
||||
my @postcheck= getpart("client", "postcheck");
|
||||
$cmd = $postcheck[0];
|
||||
chomp $cmd;
|
||||
subVariables \$cmd;
|
||||
if($cmd) {
|
||||
my $rc = system("$cmd");
|
||||
if($rc != 0) {
|
||||
logmsg "postcheck failure\n";
|
||||
return 1;
|
||||
}
|
||||
logmsg "postchecked $cmd\n" if($verbose);
|
||||
}
|
||||
|
||||
# remove the special FTP command file after each test!
|
||||
unlink($FTPDCMD);
|
||||
|
||||
@ -1700,6 +1715,11 @@ sub singletest {
|
||||
$ENV{$e}=""; # clean up
|
||||
}
|
||||
|
||||
# Don't bother doing verification on torture tests
|
||||
if ($torture) {
|
||||
return $cmdres;
|
||||
}
|
||||
|
||||
my @err = getpart("verify", "errorcode");
|
||||
my $errorcode = $err[0] || "0";
|
||||
my $ok="";
|
||||
|
Loading…
Reference in New Issue
Block a user