Commit 5a8c9d45a0 for openssl.org
commit 5a8c9d45a0675c8a705f1a99934834a687a1fb8b
Author: Matt Caswell <matt@openssl.foundation>
Date: Wed Aug 12 12:20:29 2026 +0100
Skip the common test options in dtls_multithread_test
setup_tests() read its two positional arguments without first calling
test_skip_common_options(), so the option cursor was never advanced from
the test's point of view and test_get_argument(0) returned the option
itself. Passing -test or -iter therefore left the certificate path set to
the literal string "-test", and the run failed on that:
error:80000002:system library:file_ctrl:No such file or directory:
...:calling fopen(-test, r)
The option was not being ignored: the framework parses it in
process_shared_options() and the selected sub-test really does run. Only
the positional arguments were shifted, which is what made the failure
look unrelated to the option.
Also declare the usage string, so -help describes the two arguments the
test needs rather than showing none.
Assisted-by: Claude Code:claude-opus-5
Reviewed-by: Ryan Hooper <ryanh@openssl.foundation>
Reviewed-by: Jakub Zelenka <jakub.zelenka@openssl.foundation>
Merge-date: Mon Aug 17 08:36:26 2026
Merged-from: https://github.com/openssl/openssl/pull/32331
diff --git a/test/dtls_multithread_test.c b/test/dtls_multithread_test.c
index 278c403ad5..48918ffb19 100644
--- a/test/dtls_multithread_test.c
+++ b/test/dtls_multithread_test.c
@@ -782,8 +782,15 @@ err:
return testresult;
}
+OPT_TEST_DECLARE_USAGE("certfile privkeyfile\n")
+
int setup_tests(void)
{
+ if (!test_skip_common_options()) {
+ TEST_error("Error parsing test options\n");
+ return 0;
+ }
+
if (!TEST_ptr(cert = test_get_argument(0))
|| !TEST_ptr(privkey = test_get_argument(1)))
return 0;