tests/keywords.pl: remove

This script does not work since the introduction of the test
preprocessing. If we need this functionality, it probably needs to be
moved into the runtests tool or similar.

Reported-by: Dan Fandrich
Fixes #10895
Closes #10987
This commit is contained in:
Daniel Stenberg 2023-04-17 18:25:44 +02:00
parent fc2f1e547a
commit 1c5ed24ee0
No known key found for this signature in database
GPG key ID: 5CC908FDB71E12C2

View file

@ -1,159 +0,0 @@
#!/usr/bin/env perl
#***************************************************************************
# _ _ ____ _
# Project ___| | | | _ \| |
# / __| | | | |_) | |
# | (__| |_| | _ <| |___
# \___|\___/|_| \_\_____|
#
# Copyright (C) Daniel Stenberg, <daniel@haxx.se>, 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;
push(@INC, $ENV{'srcdir'}) if(defined $ENV{'srcdir'});
push(@INC, ".");
use getpart qw(
getpart
loadtest
);
my $srcdir = $ENV{'srcdir'} || '.';
my $TESTDIR="$srcdir/data";
# Get all commands and find out their test numbers
opendir(DIR, $TESTDIR) || die "can't opendir $TESTDIR: $!";
my @cmds = grep { /^test([0-9]+)$/ && -f "$TESTDIR/$_" } readdir(DIR);
closedir DIR;
my $TESTCASES; # start with no test cases
# cut off everything but the digits
for(@cmds) {
$_ =~ s/[a-z\/\.]*//g;
}
# the numbers from low to high
for(sort { $a <=> $b } @cmds) {
$TESTCASES .= " $_";
}
my $t;
my %k; # keyword count
my %t; # keyword to test case mapping
my @miss; # test cases without keywords set
my $count;
my %errors;
for $t (split(/ /, $TESTCASES)) {
if(loadtest("${TESTDIR}/test${t}")) {
# bad case
next;
}
my @ec = getpart("verify", "errorcode");
if($ec[0]) {
# count number of check error codes
$errors{ 0 + $ec[0] } ++;
}
my @what = getpart("info", "keywords");
if(!$what[0]) {
push @miss, $t;
next;
}
for(@what) {
chomp;
#print "Test $t: $_\n";
$k{$_}++;
$t{$_} .= "$t ";
}
$count++;
}
sub show {
my ($list)=@_;
my @a = split(" ", $list);
my $ret;
my $c;
my @l = sort {rand(100) - 50} @a;
my @ll;
for(1 .. 11) {
my $v = shift @l;
if($v) {
push @ll, $v;
}
}
for (sort {$a <=> $b} @ll) {
if($c++ == 10) {
$ret .= "...";
last;
}
$ret .= "$_ ";
}
return $ret;
}
# sort alphabetically
my @mtest = reverse sort { lc($b) cmp lc($a) } keys %k;
print <<TOP
<table><tr><th>Num</th><th>Keyword</th><th>Test Cases</th></tr>
TOP
;
for $t (@mtest) {
printf "<tr><td>%d</td><td>$t</td><td>%s</td></tr>\n", $k{$t},
show($t{$t});
}
printf "</table><p> $count out of %d tests (%d lack keywords)\n",
scalar(@miss) + $count,
scalar(@miss);
for(@miss) {
print "$_ ";
}
print "\n";
printf "<p> %d different error codes tested for:<br>\n",
scalar(keys %errors);
# numerically on amount, or alphebetically if same amount
my @etest = sort { $a <=> $b} keys %errors;
for(@etest) {
print "$_ ";
}
print "\n";