curl-curl/tests
Viktor Szakats 1c49f2f26d
windows: replace _beginthreadex() with CreateThread()
Replace `_beginthreadex()` C runtime calls with native win32 API
`CreateThread()`. The latter was already used in `src/tool_doswin.c`
and in UWP and Windows CE builds before this patch. After this patch
all Windows flavors use it. To drop PP logic and simplify code.

While working on this it turned out that `src/tool_doswin.c` calls
`TerminateThread()`, which isn't recommended by the documentation,
except for "the most extreme cases". This patch makes no attempt
to change that code.
Ref: 9a2663322c #17572
Ref: https://learn.microsoft.com/windows/win32/api/processthreadsapi/nf-processthreadsapi-terminatethread

Also:
- use `WaitForSingleObjectEx()` on all desktop Windows.
  Ref: 4be80d5109
  Ref: https://sourceforge.net/p/curl/feature-requests/82/
  Ref: https://learn.microsoft.com/windows/win32/api/synchapi/nf-synchapi-waitforsingleobjectex
- tests: drop redundant casts.
- lib3207: fix to not rely on thread macros when building without thread
  support.

Assisted-by: Jay Satiro
Assisted-by: Marcel Raad
Assisted-by: Michał Petryka
Follow-up to 38029101e2 #11625

Closes #18451
2025-09-20 01:28:35 +02:00
..
certs configure: if no perl, disable unity and shell completion, related tidy ups 2025-08-04 14:55:10 +02:00
cmake cmake: ExternalProject test tidy-ups 2025-08-07 10:37:10 +02:00
data cookie: avoid saving a cookie file if no transfer was done 2025-09-19 16:40:20 +02:00
http ngtcp2: check error code on connect failure 2025-09-11 16:00:58 +02:00
libtest windows: replace _beginthreadex() with CreateThread() 2025-09-20 01:28:35 +02:00
server windows: replace _beginthreadex() with CreateThread() 2025-09-20 01:28:35 +02:00
tunit tests: constify command-line arguments 2025-07-29 13:44:50 +02:00
unit base64: accept zero length argument to base64_encode 2025-09-19 22:57:20 +02:00
.gitignore tidy-up: .gitignore lines mostly 2025-01-27 20:59:46 +01:00
allversions.pm scripts: enable strict warnings in Perl where missing, fix fallouts 2025-07-27 22:35:18 +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 tidy-up: formatting 2025-08-23 01:12:27 +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: formatting 2025-08-23 01:12:27 +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 tidy-up: formatting 2025-08-23 01:12:27 +02:00
ftpserver.pl runtests: assume Time::HiRes, drop Perl Win32 dependency 2025-08-14 16:34:06 +02:00
getpart.pm tidy-up: whitespace 2025-07-11 13:32:54 +02:00
globalconfig.pm tidy-up: formatting 2025-08-23 01:12:27 +02:00
http2-server.pl tests: fix perl warnings in http2-server, http3-server 2025-07-30 14:21:17 +02:00
http3-server.pl tests: fix perl warnings in http2-server, http3-server 2025-07-30 14:21:17 +02:00
http-server.pl runtests: support multi-target cmake, drop workarounds from CI 2025-02-24 21:00:30 +01:00
Makefile.am runtests: replace --ci with --buidinfo, show OS/Perl version again 2025-08-21 13:11:32 +02:00
memanalyze.pl memanalyze: fix warnings 2025-07-28 12:43:02 +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 processhelp.pm: use Win32::Process* perl modules if available 2025-08-18 23:46:56 +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 spacecheck: warn for 3+ empty lines in a row, fix fallouts 2025-09-04 20:37:51 +02:00
runtests.pl runtests: remove warning message 2025-08-26 23:33:13 +02:00
secureserver.pl tests: Add https-mtls server to force client auth 2025-04-07 08:46:56 +02:00
serverhelp.pm runtests: assume Time::HiRes, drop Perl Win32 dependency 2025-08-14 16:34:06 +02:00
servers.pm spacecheck: warn for 3+ empty lines in a row, fix fallouts 2025-09-04 20:37:51 +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 typecheck-gcc: add type checks for curl_multi_setopt() 2025-08-22 17:12:58 +02:00
test971.pl scripts: enable strict warnings in Perl where missing, fix fallouts 2025-07-27 22:35:18 +02:00
test1119.pl docs: add CURLOPT type change history, drop casts where present 2025-08-02 00:05:33 +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 scripts: enable strict warnings in Perl where missing, fix fallouts 2025-07-27 22:35:18 +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 scripts: enable strict warnings in Perl where missing, fix fallouts 2025-07-27 22:35:18 +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 scripts: enable strict warnings in Perl where missing, fix fallouts 2025-07-27 22:35:18 +02:00
test1276.pl scripts: enable strict warnings in Perl where missing, fix fallouts 2025-07-27 22:35:18 +02:00
test1477.pl test1175: fix to run, and fix documentation issues detected 2025-07-11 12:28:46 +02:00
test1486.pl writeout: add %time{} 2025-08-04 23:45:48 +02:00
test1488.pl scripts: enable strict warnings in Perl where missing, fix fallouts 2025-07-27 22:35:18 +02:00
test1544.pl scripts: fix perl indentation, whitespace, semicolons 2025-04-29 19:35:55 +02:00
test1707.pl scripts: enable strict warnings in Perl where missing, fix fallouts 2025-07-27 22:35:18 +02:00
testcurl.pl scripts: enable strict warnings in Perl where missing, fix fallouts 2025-07-27 22:35:18 +02:00
testutil.pm tidy-up: formatting 2025-08-23 01:12:27 +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