curl/tests
Viktor Szakats 1cc8a5235f
tests: fix UTF-8 detection, per-test LC_* settings, CI coverage
- runtests: fix `codeset-utf8` feature detection. Before this patch it
  detected if the calling environment had UTF-8 enabled. If not, UTF-8
  tests were all skipped. After this patch, it detects if UTF-8 is
  supported by the calling environment regardless of what's currently
  enabled.
  Follow-up to 0b70b23ef4 #15039

- GHA/linux: sync `codeset-test` to also reset `LC_CTYPE` and
  `LC_NUMBER`. To give it more spin.
  Follow-up to c221c0ee59 #17938

- GHA/macos: fix to actually enable `codeset-test`. Also set `LC_ALL`,
  which seems necessary to trigger issues.
  Follow-up to c221c0ee59 #17938

- tests/data: replace `LC_CTYPE` env with `LC_ALL` in all tests
  requiring a locale. Also to avoid potential issues with a blank or
  unset `LC_ALL`, as seen earlier. And to ensure that the override works
  on all platforms (as tested in CI.)
  Slight downside is that this now resets the language/culture to `C`.
  Ref: b4c9982382 #4743
  Ref: 23208e330a #4738

- replace `en_US.UTF-8` with `C.UTF-8` to be language/culture-agnostic.

- TEST-SUITE.md: drop `UTF-8` as a requirement for tests.
  Tests shall work (or least be skipped) without UTF-8 support.

Tests requiring UTF-8 locale:
165, 962, 963, 964, 965, 966, 967, 1448, 1560, 2046, 2047
Tests requiring UTF-8 locale, but passing without one anyway:
955, 956, 957, 958, 959, 960, 961, 968, 1034, 1035

Spec 1997: https://pubs.opengroup.org/onlinepubs/7908799/xbd/envvar.html
Spec 2008: https://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap08.html

Ref: c221c0ee59 #17938
Ref: 7cf8414fab
Ref: 4c140a5628
Ref: 28faaacee2 #2436
Ref: ecd1d020ab

Closes #17988
2025-07-23 22:17:07 +02:00
..
certs build: fix build errors/warnings in rare configurations 2025-07-23 22:17:03 +02:00
client GHA/checksrc: expand spellcheck, fix issues found 2025-07-21 16:09:01 +02:00
cmake cmake: replace cmakelint with cmake-lint from cmakelang, fix issues 2025-06-11 07:07:49 +02:00
data tests: fix UTF-8 detection, per-test LC_* settings, CI coverage 2025-07-23 22:17:07 +02:00
http pytest: add SOCKS tests and scoring 2025-07-23 18:12:31 +02:00
libtest lib1560: fix memory leak when run without UTF-8 support 2025-07-22 17:16:32 +02:00
server curl_fnmatch, servers: drop local macros in favour of sizeof() 2025-07-21 16:14:14 +02:00
tunit tests: move curlcheck.h to libtest as unitcheck.h 2025-07-09 02:29:25 +02:00
unit GHA/checksrc: expand spellcheck, fix issues found 2025-07-21 16:09:01 +02:00
.gitignore tidy-up: .gitignore lines mostly 2025-01-27 20:59:46 +01:00
allversions.pm VERSIONS: list all past releases 2025-04-03 08:26:33 +02:00
appveyor.pm tidy-up: whitespace (more in Perl) 2025-07-12 08:59:44 +02:00
azure.pm runtests: fix quoting in Appveyor and Azure test integration 2023-04-22 11:50:03 -07:00
CMakeLists.txt cmake: make runtests targets build the curl tool 2025-07-19 22:37:17 +02:00
config.in copyright: update all copyright lines and remove year ranges 2023-01-03 09:19:21 +01:00
configurehelp.pm.in build: use configurehelp.pm.in with autotools and cmake 2024-09-21 12:21:14 +02:00
devtest.pl tidy-up: whitespace 2025-07-11 13:32:54 +02:00
dictserver.py tidy-up: align MSYS2/Cygwin codepaths, follow Cygwin MAX_PID bump 2025-02-21 11:58:05 +01:00
directories.pm scripts: fix perl indentation, whitespace, semicolons 2025-04-29 19:35:55 +02:00
ech_combos.py tidy-up: whitespace [ci skip] 2024-04-16 09:53:39 +02:00
ech_tests.sh GHA/checksrc: expand spellcheck, fix issues found 2025-07-21 16:09:01 +02:00
ftpserver.pl tidy-up: whitespace 2025-07-11 13:32:54 +02:00
getpart.pm tidy-up: whitespace 2025-07-11 13:32:54 +02:00
globalconfig.pm tests: move GSS-API dynamic stub into debug-mode libcurl 2025-07-01 00:17:15 +02:00
http-server.pl runtests: support multi-target cmake, drop workarounds from CI 2025-02-24 21:00:30 +01:00
http2-server.pl CI: fix OpenBSD tests stall 2025-06-05 09:12:22 +02:00
http3-server.pl tests: use a more portable null device path 2025-04-04 03:40:47 -04:00
Makefile.am tests/http/clients: move to tests/client 2025-06-17 19:39:36 +02:00
memanalyze.pl memanalyze.pl: fix getaddrinfo/freeaddrinfo checks 2025-06-01 10:24:31 +02:00
negtelnetserver.py tidy-up: align MSYS2/Cygwin codepaths, follow Cygwin MAX_PID bump 2025-02-21 11:58:05 +01:00
nghttpx.conf copyright: update all copyright lines and remove year ranges 2023-01-03 09:19:21 +01:00
pathhelp.pm tidy-up: whitespace (more in Perl) 2025-07-12 08:59:44 +02:00
processhelp.pm tidy-up: whitespace 2025-07-11 13:32:54 +02:00
requirements.txt tests/http: more tests with specific clients 2023-04-26 23:24:46 +02:00
rtspserver.pl runtests: support multi-target cmake, drop workarounds from CI 2025-02-24 21:00:30 +01:00
runner.pm GHA/checksrc: expand spellcheck, fix issues found 2025-07-21 16:09:01 +02:00
runtests.pl tests: fix UTF-8 detection, per-test LC_* settings, CI coverage 2025-07-23 22:17:07 +02:00
secureserver.pl tests: Add https-mtls server to force client auth 2025-04-07 08:46:56 +02:00
serverhelp.pm tests: always make bundles, adapt build and tests 2025-06-14 21:08:23 +02:00
servers.pm tidy-up: whitespace (more in Perl) 2025-07-12 08:59:44 +02:00
smbserver.py GHA/checksrc: expand spellcheck, fix issues found 2025-07-21 16:09:01 +02:00
sshhelp.pm runtests: fix test key format for libssh2 WinCNG (and others) 2025-03-23 20:26:26 +01:00
sshserver.pl tidy-up: whitespace 2025-07-11 13:32:54 +02:00
test745.pl tidy-up: whitespace (more in Perl) 2025-07-12 08:59:44 +02:00
test971.pl tidy-up: whitespace (more in Perl) 2025-07-12 08:59:44 +02:00
test1119.pl tidy-up: whitespace (more in Perl) 2025-07-12 08:59:44 +02:00
test1132.pl tests: rename tests scripts to the test number 2023-12-08 12:53:17 +01:00
test1135.pl tidy-up: whitespace (more in Perl) 2025-07-12 08:59:44 +02:00
test1139.pl tidy-up: whitespace (more in Perl) 2025-07-12 08:59:44 +02:00
test1140.pl tests/scripts: call it 'manpage' (single word) 2024-07-18 15:12:09 +02:00
test1165.pl tidy-up: whitespace (more in Perl) 2025-07-12 08:59:44 +02:00
test1167.pl tidy-up: whitespace (more in Perl) 2025-07-12 08:59:44 +02:00
test1173.pl GHA/checksrc: expand spellcheck, fix issues found 2025-07-21 16:09:01 +02:00
test1175.pl tidy-up: whitespace (more in Perl) 2025-07-12 08:59:44 +02:00
test1177.pl NTLM_WB: drop support 2024-04-08 13:58:58 +02:00
test1222.pl test1222: fix for out-of-tree and no-libcurl-manual builds 2025-07-11 12:28:46 +02:00
test1275.pl docs: improve cipher options documentation 2024-08-17 11:14:21 +02:00
test1276.pl tests: rename tests scripts to the test number 2023-12-08 12:53:17 +01:00
test1477.pl test1175: fix to run, and fix documentation issues detected 2025-07-11 12:28:46 +02:00
test1486.pl tidy-up: whitespace (more in Perl) 2025-07-12 08:59:44 +02:00
test1488.pl tidy-up: whitespace (more in Perl) 2025-07-12 08:59:44 +02:00
test1544.pl scripts: fix perl indentation, whitespace, semicolons 2025-04-29 19:35:55 +02:00
test1707.pl test1707: output diff more for debugging differences in CI outputs 2024-08-16 08:57:19 +02:00
testcurl.pl tidy-up: whitespace (more in Perl) 2025-07-12 08:59:44 +02:00
testutil.pm tidy-up: whitespace 2025-07-11 13:32:54 +02:00
tftpserver.pl tests: Remove unused variables 2025-03-22 11:12:29 -07:00
util.py tests: enable additional ruff Python lint options 2024-10-04 14:03:17 -07:00
valgrind.pm tests/valgrind.pm: fix warnings with no valgrind report to show 2024-09-20 15:40:07 +02:00
valgrind.supp hyper: drop support 2024-12-21 11:33:05 +01:00