← Commit list

71cabc8f7c

Daniel Stenberg
Daniel Stenberg
2026-08-26
SUCCESS Duration: 413s

Subject

scripts/testnum: provide a few available test numbers

Binary

No binary (build failed)

Architecture & Compiler Flags

Architecture: x86_64-linux-gnu Compiler: gcc (Ubuntu 11.4.0-1ubuntu1~22.04.3) 11.4.0

—

Build Log

(log yok)

Commit Diff GitHub →

scripts/Makefile.am+2 -1
@@ -27,7 +27,8 @@ EXTRA_DIST = coverage.sh completion.pl firefox-db2pem.sh checksrc.pl \
cdall cd2cd managen dmaketgz maketgz release-tools.sh verify-release \
cmakelint.sh cmakeopts.sh mdlinkcheck CMakeLists.txt perlcheck.sh \
pythonlint.sh spacecheck.pl randdisable wcurl top-complexity \
- extract-unit-protos .checksrc badwords badwords-all badwords.txt top-length
+ extract-unit-protos .checksrc badwords badwords-all badwords.txt top-length \
+ testnum
dist_bin_SCRIPTS = wcurl
scripts/testnum+68 -0
@@ -0,0 +1,68 @@
+#!/usr/bin/env perl
+#***************************************************************************
+# _ _ ____ _
+# Project ___| | | | _ \| |
+# / __| | | | |_) | |
+# | (__| |_| | _ <| |___
+# \___|\___/|_| \_\_____|
+#
+# Copyright (C) Daniel Stenberg, <[email protected]>, et al.
+#
+# This software is licensed as described in the file COPYING, which
+# you should have received as part of this distribution. The terms
+# are also available at https://curl.se/docs/copyright.html.
+#
+# You may opt to use, copy, modify, merge, publish, distribute and/or sell
+# copies of the Software, and permit persons to whom the Software is
+# furnished to do so, under the terms of the COPYING file.
+#
+# This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
+# KIND, either express or implied.
+#
+# SPDX-License-Identifier: curl
+#
+###########################################################################
+use strict;
+use warnings;
+
+my $num = 10; # provide (at least) this many proposals
+
+my @all;
+my $expect = 0;
+
+open(F, "<tests/data/Makefile.am");
+while(<F>) {
+ if(/^TESTCASES/) {
+ $expect = 1;
+ }
+ elsif($expect) {
+ if(/^ test(\d+)/) {
+ my $f = $1;
+ if($f == $expect) {
+ $expect = $f + 1;
+ }
+ else {
+ if(($f - 1) != $expect) {
+ # a range
+ for my $t ($expect .. ($f - 1)) {
+ push @all, $t;
+ }
+ }
+ else {
+ # single value
+ push @all, $expect;
+ }
+ }
+ $expect = $f + 1;
+ }
+ }
+}
+
+use List::Util qw(shuffle);
+
+for my $t (shuffle @all) {
+ print "test$t\n";
+ if(!--$num) {
+ last;
+ }
+}
tests/data/Makefile.am+3 -0
@@ -25,6 +25,9 @@ all:
install:
test:
+# The helper script ./scripts/testnum provides a set of available test
+# numbers.
+
# this list is in numerical order
TESTCASES = \
test1 \