-g runs the specified test(s) with gdb!

This commit is contained in:
Daniel Stenberg 2001-02-20 13:58:39 +00:00
parent e2590430c5
commit 63b5748eb6

View File

@ -51,6 +51,7 @@ my $short;
my $verbose; my $verbose;
my $debugprotocol; my $debugprotocol;
my $anyway; my $anyway;
my $gdbthis; # run test case with gdb debugger
####################################################################### #######################################################################
# Return the pid of the server as found in the given pid file # Return the pid of the server as found in the given pid file
@ -397,12 +398,13 @@ sub singletest {
} }
# run curl, add -v for debug information output # run curl, add -v for debug information output
my $CMDLINE="$CURL $out--include -v --silent $cmd >$STDOUT 2>$STDERR"; my $cmdargs="$out--include -v --silent $cmd";
my $STDINFILE="$TESTDIR/stdin$NUMBER.txt"; my $STDINFILE="$TESTDIR/stdin$NUMBER.txt";
if(-f $STDINFILE) { if(-f $STDINFILE) {
$CMDLINE .= " < $STDINFILE"; $cmdargs .= " < $STDINFILE";
} }
my $CMDLINE="$CURL $cmdargs >$STDOUT 2>$STDERR";
if($verbose) { if($verbose) {
print "$CMDLINE\n"; print "$CMDLINE\n";
@ -410,9 +412,20 @@ sub singletest {
print CMDLOG "$CMDLINE\n"; print CMDLOG "$CMDLINE\n";
my $res;
# run the command line we built # run the command line we built
my $res = system("$CMDLINE"); if($gdbthis) {
$res /= 256; open(GDBCMD, ">log/gdbcmd");
print GDBCMD "set args $cmdargs\n";
print GDBCMD "show args\n";
close(GDBCMD);
system("gdb $CURL -x log/gdbcmd");
$res =0; # makes it always continue after a debugged run
}
else {
$res = system("$CMDLINE");
$res /= 256;
}
my $ERRORCODE = "$TESTDIR/error$NUMBER.txt"; my $ERRORCODE = "$TESTDIR/error$NUMBER.txt";
@ -560,6 +573,10 @@ do {
# have the servers display protocol output # have the servers display protocol output
$debugprotocol=1; $debugprotocol=1;
} }
elsif ($ARGV[0] eq "-g") {
# run this test with gdb
$gdbthis=1;
}
elsif($ARGV[0] eq "-s") { elsif($ARGV[0] eq "-s") {
# short output # short output
$short=1; $short=1;
@ -574,6 +591,7 @@ do {
Usage: runtests.pl [-h][-s][-v][numbers] Usage: runtests.pl [-h][-s][-v][numbers]
-a continue even if a test fails -a continue even if a test fails
-d display server debug info -d display server debug info
-g run the test case with gdb
-h this help text -h this help text
-s short output -s short output
-v verbose output -v verbose output