tests: ensure libcurl.def contains all exports

Add `test1279` to verify that `libcurl.def` lists all exported API
functions found in libcurl headers.

Also:

- extend test suite XML `stdout` tag with the `loadfile` attribute.

- fix `tests/extern-scan.pl` and `test1135` to include websocket API.

- use all headers (sorted) in `test1135` instead of a manual list.

- add options `--sort`, `--heading=` to `tests/extern-scan.pl`.

- add `libcurl.def` to the auto-labeler GHA task.

Follow-up to 2ebc74c36a

Closes #11570
This commit is contained in:
Viktor Szakats 2023-08-01 22:02:43 +00:00
parent d135d040df
commit db70846e2e
No known key found for this signature in database
GPG key ID: B5ABD165E2AEF201
7 changed files with 187 additions and 109 deletions

View file

@ -1195,6 +1195,19 @@ sub singletest_check {
my @stripfile = getpart("verify", "stripfile");
my @validstdout = getpart("verify", "stdout");
# get all attributes
my %hash = getpartattr("verify", "stdout");
my $loadfile = $hash{'loadfile'};
if ($loadfile) {
open(my $tmp, "<", "$loadfile") || die "Cannot open file $loadfile: $!";
@validstdout = <$tmp>;
close($tmp);
# Enforce LF newlines on load
s/\r\n/\n/g for @validstdout;
}
if (@validstdout) {
# verify redirected stdout
my @actual = loadarray(stdoutfilename($logdir, $testnum));
@ -1213,9 +1226,6 @@ sub singletest_check {
@actual = @newgen;
}
# get all attributes
my %hash = getpartattr("verify", "stdout");
# get the mode attribute
my $filemode=$hash{'mode'};
if($filemode && ($filemode eq "text") && $has_textaware) {