From: Daniel Stenberg Date: Thu, 3 Apr 2025 14:30:42 +0000 (+0200) Subject: tests/README.md: document --test-duphandle X-Git-Tag: curl-8_14_0~380 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=681df5ec517e1477b07b5df2df42bc0617f33c18;p=thirdparty%2Fcurl.git tests/README.md: document --test-duphandle Follow-up to cbafcec50bc99ba0dd0490e6 Closes #16944 --- diff --git a/tests/README.md b/tests/README.md index b1ac695524..a0634ea1ea 100644 --- a/tests/README.md +++ b/tests/README.md @@ -74,9 +74,9 @@ SPDX-License-Identifier: curl ## Event-based If curl is built with `Debug` enabled (see below), then the `runtests.pl` - script offers a `-e` option that makes it perform *event-based*. Such tests - invokes the curl tool with `--test-event`, a debug-only option made for this - purpose. + script offers a `-e` option (or `--test-event`) that makes it perform + *event-based*. Such tests invokes the curl tool with `--test-event`, a + debug-only option made for this purpose. Performing event-based means that the curl tool uses the `curl_multi_socket_action()` API call to drive the transfer(s), instead of @@ -87,12 +87,21 @@ SPDX-License-Identifier: curl To be able to use `--test-event` together with `--parallel`, curl requires *libuv* to be present and enabled in the build: `configure --enable-libuv` +## Duplicated handles + + If curl is built with `Debug` enabled (see below), then the `runtests.pl` + script offers a `--test-duphandle` option. When enabled, curl always + duplicates the easy handle and does its transfers using the new one instead + of the original. This is done entirely for testing purpose to verify that + everything works exactly the same when this is done; confirming that the + `curl_easy_duphandle()` function duplicates everything that it should. + ### Port numbers used by test servers - All test servers run on "random" port numbers. All tests should be written - to use suitable variables instead of fixed port numbers so that test cases - continue to work independent on what port numbers the test servers actually - use. + All test servers run on "random" port numbers. All tests must be written to + use the suitable variables instead of fixed port numbers so that test cases + continue to work independently of what port numbers the test servers + actually use. See [`FILEFORMAT`](FILEFORMAT.md) for the port number variables.