From: Viktor Szakats Date: Wed, 20 Aug 2025 18:29:20 +0000 (+0200) Subject: runtests: replace `--ci` with `--buidinfo`, show OS/Perl version again X-Git-Tag: curl-8_16_0~140 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=696150b75225fca1ce9ed214c98c24c675b63d5f;p=thirdparty%2Fcurl.git runtests: replace `--ci` with `--buidinfo`, show OS/Perl version again I figure OS/Perl version may be useful to see in local runs, and also in CI runs where `--ci` was not set: https://curl.se/dev/log.cgi?id=20250820041228-707387#prob1 Also, only show a message if the `diff` tool is missing. Follow-up to 985f39c0ce78b546e832c250588c14023123edfb #18147 Closes #18329 --- diff --git a/RELEASE-NOTES b/RELEASE-NOTES index 7e1337d9d3..242d0d32b4 100644 --- a/RELEASE-NOTES +++ b/RELEASE-NOTES @@ -150,7 +150,6 @@ This release includes the following bugfixes: o pytest: increase server KeepAliveTimeout [26] o pytest: relax error check on test_07_22 [16] o resolving: dns error tracing [196] - o runtests: add `--ci` option, show `Env:` only when non-empty [134] o runtests: assume `Time::HiRes`, drop Perl Win32 dependency [163] o schannel: add an error message for client cert not found [165] o schannel: assume `CERT_CHAIN_REVOCATION_CHECK_CHAIN` [114] @@ -386,7 +385,6 @@ References to bug reports and discussions on issues: [131] = https://curl.se/bug/?i=18187 [132] = https://curl.se/bug/?i=18160 [133] = https://curl.se/bug/?i=18201 - [134] = https://curl.se/bug/?i=18147 [135] = https://curl.se/bug/?i=18143 [136] = https://curl.se/bug/?i=18142 [137] = https://curl.se/bug/?i=18141 diff --git a/docs/runtests.md b/docs/runtests.md index 0742444c54..4a7ddf5c0b 100644 --- a/docs/runtests.md +++ b/docs/runtests.md @@ -96,15 +96,15 @@ Provide a path to a curl binary to talk to APIs (currently only CI test APIs). Display test results in automake style output (`PASS/FAIL: [number] [name]`). +## `--buildinfo` + +Dump `buildinfo.txt`. + ## `-c \` Provide a path to a custom curl binary to run the tests with. Default is the curl executable in the build tree. -## `--ci` - -Show extra information useful in for CI runs. - ## `-d` Enable protocol debug: have the servers display protocol output. If used in diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt index 0593b513ee..657d9fe09a 100644 --- a/tests/CMakeLists.txt +++ b/tests/CMakeLists.txt @@ -126,7 +126,7 @@ curl_add_runtests(test-am "-a -am") curl_add_runtests(test-full "-a -p -r") # ~flaky means that it ignores results of tests using the flaky keyword curl_add_runtests(test-nonflaky "-a -p ~flaky ~timing-dependent") -curl_add_runtests(test-ci "-a -p ~flaky ~timing-dependent -r --retry=5 -j20 --ci") +curl_add_runtests(test-ci "-a -p ~flaky ~timing-dependent -r --retry=5 -j20 --buildinfo") curl_add_runtests(test-torture "-a -t -j20") curl_add_runtests(test-event "-a -e") diff --git a/tests/Makefile.am b/tests/Makefile.am index 3894355fe9..639da33809 100644 --- a/tests/Makefile.am +++ b/tests/Makefile.am @@ -129,7 +129,7 @@ TEST_E = -a -e TEST_NF = -a -p ~flaky ~timing-dependent # special CI target derived from nonflaky with CI-specific flags -TEST_CI = $(TEST_NF) -r --retry=5 -j20 --ci +TEST_CI = $(TEST_NF) -r --retry=5 -j20 --buildinfo PYTEST = pytest endif diff --git a/tests/globalconfig.pm b/tests/globalconfig.pm index 9fa436d8bb..6ea605a219 100644 --- a/tests/globalconfig.pm +++ b/tests/globalconfig.pm @@ -46,7 +46,7 @@ BEGIN { $TUNITDIR $SRVDIR $listonly - $ci + $buildinfo $LOCKDIR $LOGDIR $memanalyze @@ -95,7 +95,7 @@ our $verbose; # 1 to show verbose test output our $torture; # 1 to enable torture testing our $proxy_address; # external HTTP proxy address our $listonly; # only list the tests -our $ci; # show extra info useful in CI runs +our $buildinfo; # dump buildinfo.txt our $run_duphandle; # run curl with --test-duphandle to verify handle duplication our $run_event_based; # run curl with --test-event to test the event API our $automakestyle; # use automake-like test status output format diff --git a/tests/runtests.pl b/tests/runtests.pl index 9064d799c3..32af1b24d4 100755 --- a/tests/runtests.pl +++ b/tests/runtests.pl @@ -856,14 +856,6 @@ sub checksystemfeatures { chomp $hosttype; my $hostos=$^O; - my $havediff; - if(system("diff $TESTDIR/DISABLED $TESTDIR/DISABLED 2>$dev_null") == 0) { - $havediff = 'available'; - } - else { - $havediff = 'missing'; - } - # display summary information about curl and the test host logmsg("********* System characteristics ******** \n", "* $curl\n", @@ -872,14 +864,10 @@ sub checksystemfeatures { "* Features: $feat\n", "* Disabled: $dis\n", "* Host: $hostname\n", - "* System: $hosttype\n"); - if($ci) { - logmsg("* OS: $hostos\n", - "* Perl: $^V ($^X)\n", - "* diff: $havediff\n"); - } - logmsg("* Args: $args\n"); - + "* System: $hosttype\n", + "* OS: $hostos\n", + "* Perl: $^V ($^X)\n", + "* Args: $args\n"); if($jobs) { # Only show if not the default for now logmsg "* Jobs: $jobs\n"; @@ -902,6 +890,9 @@ sub checksystemfeatures { logmsg "* Env: $env\n"; } logmsg "* Seed: $randseed\n"; + if(system("diff $TESTDIR/DISABLED $TESTDIR/DISABLED 2>$dev_null") != 0) { + logmsg "* diff: missing\n"; + } } ####################################################################### @@ -2452,8 +2443,8 @@ while(@ARGV) { # lists the test case names only $listonly=1; } - elsif($ARGV[0] eq "--ci") { - $ci=1; + elsif($ARGV[0] eq "--buildinfo") { + $buildinfo=1; } elsif($ARGV[0] =~ /^-j(.*)/) { # parallel jobs @@ -2508,8 +2499,8 @@ Usage: runtests.pl [options] [test selection(s)] -a continue even if a test fails -ac path use this curl only to talk to APIs (currently only CI test APIs) -am automake style output PASS/FAIL: [number] [name] + --buildinfo dump buildinfo.txt -c path use this curl executable - --ci show extra info useful in for CI runs (e.g. buildinfo.txt dump) -d display server debug info -e, --test-event event-based execution --test-duphandle duplicate handles before use @@ -2697,7 +2688,7 @@ if(!$listonly) { ####################################################################### # Output information about the curl build # -if(!$listonly && $ci) { +if(!$listonly && $buildinfo) { if(open(my $fd, "<", "../buildinfo.txt")) { while(my $line = <$fd>) { chomp $line;