scripts/testnum: provide a few available test numbers
No binary (build failed)
—
(log yok)
| @@ -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 | |
| @@ -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; |
| + | } |
| + | } |
| @@ -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 \ | |