From ffc6d062d806d7f8bb879f0f6173310948b3a6d5 Mon Sep 17 00:00:00 2001 From: Daniel Stenberg Date: Wed, 29 Oct 2003 09:12:47 +0000 Subject: now check for and use valgrind, inserted and modified the check for stunnel and we no longer use the stunnel.pm --- tests/runtests.pl | 29 +++++++++++++++++++++++++++-- 1 file changed, 27 insertions(+), 2 deletions(-) (limited to 'tests') diff --git a/tests/runtests.pl b/tests/runtests.pl index 70cd5a4cb..70688247f 100755 --- a/tests/runtests.pl +++ b/tests/runtests.pl @@ -57,7 +57,8 @@ my $memdump="memdump"; # the path to the script that analyzes the memory debug output file: my $memanalyze="./memanalyze.pl"; -my $checkstunnel = &checkstunnel; +my $checkstunnel = checkcmd("stunnel"); +my $checkvalgrind = checkcmd("valgrind"); my $ssl_version; # set if libcurl is built with SSL support @@ -65,6 +66,12 @@ my $skipped=0; # number of tests skipped; reported in main loop my %skipped; # skipped{reason}=counter, reasons for skip my @teststat; # teststat[testnum]=reason, reasons for skip +if($checkvalgrind) { + # we have found valgrind on the host, use it + + # perhaps we should verify that valgrind works before we actually use it? + $CURL="valgrind --leak-check=yes --logfile-fd=3 -q $CURL"; +} ####################################################################### # variables the command line options may set # @@ -105,6 +112,20 @@ foreach $protocol (('ftp', 'http', 'ftps', 'https', 'gopher', 'no')) { $ENV{uc($proxy)}=undef; } +####################################################################### +# Check for a command in the PATH. +# +sub checkcmd { + my ($cmd)=@_; + my @paths=("/usr/sbin", "/usr/local/sbin", "/sbin", "/usr/bin", + "/usr/local/bin", split(":", $ENV{'PATH'})); + for(@paths) { + if( -x "$_/$cmd") { + return "$_/$cmd"; + } + } +} + ####################################################################### # Return the pid of the server as found in the given pid file # @@ -578,7 +599,7 @@ sub checkcurl { my $curl; my $libcurl; - my @version=`$CURL -V`; + my @version=`$CURL -V 2>/dev/null`; for(@version) { chomp; @@ -635,6 +656,7 @@ sub checkcurl { printf("* Server SSL: %s\n", $checkstunnel?"ON":"OFF"); printf("* libcurl SSL: %s\n", $ssl_version?"ON":"OFF"); printf("* libcurl debug: %s\n", $curl_debug?"ON":"OFF"); + printf("* valgrind: %s\n", $checkvalgrind?"ON":"OFF"); print "***************************************** \n"; } @@ -881,6 +903,9 @@ sub singletest { $cmdargs .= " <$stdinfile"; } + if($checkvalgrind) { + $cmdargs .= " 3>log/valgrind$testnum"; + } my $CMDLINE; if(!$tool) { -- cgit v1.2.3