From 681df5ec517e1477b07b5df2df42bc0617f33c18 Mon Sep 17 00:00:00 2001 From: Daniel Stenberg Date: Thu, 3 Apr 2025 16:30:42 +0200 Subject: [PATCH] tests/README.md: document --test-duphandle Follow-up to cbafcec50bc99ba0dd0490e6 Closes #16944 --- tests/README.md | 23 ++++++++++++++++------- 1 file changed, 16 insertions(+), 7 deletions(-) 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. -- 2.47.3