]> git.ipfire.org Git - thirdparty/curl.git/commitdiff
runtests: --no-debuginfod now disables DEBUGINFOD_URLS
authorDaniel Stenberg <daniel@haxx.se>
Sat, 19 Nov 2022 14:58:35 +0000 (15:58 +0100)
committerDaniel Stenberg <daniel@haxx.se>
Fri, 25 Nov 2022 08:33:52 +0000 (09:33 +0100)
Prior to this change, DEBUGINFOD_URLS was always disabled by runtests
due to a report of it slowing down tests. However, some setups need it
to fetch debug symbols, and if it is disabled on those systems then curl
tests with valgrind will fail.

Reported-by: Mark Gaiser
Ref: #8805
Closes #9950

tests/runtests.1
tests/runtests.pl

index d7681df47496c5060def069301588dda7c60e5ef..ea9f7a7b80bd99cd753e7bb145d969874f33da5a 100644 (file)
@@ -95,6 +95,9 @@ using curl's regression test suite.
 Lists all test case names.
 .IP "-n"
 Disable the check for and use of valgrind.
+.IP "--no-debuginfod"
+Delete the DEBUGINFOD_URLS variable if that is defined. Makes valgrind, gdb
+etc not able to use this functionality.
 .IP "-o <variablename=value>"
 Overwrite the specified internal \fBvariable\fP with \fBvalue\fP.
 Useful to change variables that didn't get a dedicated flag to change them.
index 3f6197249a350b5b12ad0db83331e1c4b33795db..ae8b25e52669b683e37b2c4c27dc7c0c03c9c713 100755 (executable)
@@ -347,6 +347,7 @@ my $short;
 my $automakestyle;
 my $verbose;
 my $debugprotocol;
+my $no_debuginfod;
 my $anyway;
 my $gdbthis;      # run test case with gdb debugger
 my $gdbxwin;      # use windowed gdb when using gdb
@@ -435,7 +436,6 @@ foreach $protocol (('ftp', 'http', 'ftps', 'https', 'no', 'all')) {
 
 delete $ENV{'SSL_CERT_DIR'} if($ENV{'SSL_CERT_DIR'});
 delete $ENV{'SSL_CERT_PATH'} if($ENV{'SSL_CERT_PATH'});
-delete $ENV{'DEBUGINFOD_URLS'} if($ENV{'DEBUGINFOD_URLS'});
 delete $ENV{'CURL_CA_BUNDLE'} if($ENV{'CURL_CA_BUNDLE'});
 
 #######################################################################
@@ -5661,6 +5661,10 @@ while(@ARGV) {
         # no valgrind
         undef $valgrind;
     }
+    elsif($ARGV[0] eq "--no-debuginfod") {
+        # disable the valgrind debuginfod functionality
+        $no_debuginfod = 1;
+    }
     elsif ($ARGV[0] eq "-R") {
         # execute in scrambled order
         $scrambleorder=1;
@@ -5841,6 +5845,8 @@ EOHELP
     shift @ARGV;
 }
 
+delete $ENV{'DEBUGINFOD_URLS'} if($ENV{'DEBUGINFOD_URLS'} && $no_debuginfod);
+
 if(!$randseed) {
     my ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) =
         localtime(time);