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

31
tests/data/test1279 Normal file
View file

@ -0,0 +1,31 @@
<testcase>
<info>
<keywords>
source analysis
CURL_EXTERN
libcurl.def
</keywords>
</info>
#
# Client-side
<client>
<server>
none
</server>
<name>
Verify libcurl.def against CURL_EXTERN declarations
</name>
<command type="perl">
%SRCDIR/extern-scan.pl --heading=EXPORTS --sort %SRCDIR/..
</command>
</client>
<verify>
<stdout loadfile="%SRCDIR/../libcurl.def">
</stdout>
</verify>
</testcase>