From: Pauli Date: Wed, 2 Aug 2023 00:40:23 +0000 (+1000) Subject: testutil: allow a failure return from setup_tests that doesn't print help X-Git-Tag: openssl-3.1.3~72 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=47429d9d62c4aee2a9843be789e2ce51b6d00a15;p=thirdparty%2Fopenssl.git testutil: allow a failure return from setup_tests that doesn't print help Reviewed-by: Matt Caswell Reviewed-by: Shane Lontis (Merged from https://github.com/openssl/openssl/pull/21621) (cherry picked from commit badf3c162d2b67635beee3fc948db32f13d274af) --- diff --git a/test/README-dev.md b/test/README-dev.md index d015bcf5bfb..d8922de0008 100644 --- a/test/README-dev.md +++ b/test/README-dev.md @@ -130,7 +130,11 @@ Generic form of C test executables int setup_tests(void) { ADD_TEST(my_test); /* Add each test separately */ - return 1; /* Indicate success */ + return 1; /* Indicates success. Return 0 */ + /* to produce an error with a */ + /* usage message and -1 for */ + /* failure to set up with no */ + /* usage message. */ } You should use the `TEST_xxx` macros provided by `testutil.h` to test all failure diff --git a/test/testutil/main.c b/test/testutil/main.c index 6716750a305..2945bb52b8e 100644 --- a/test/testutil/main.c +++ b/test/testutil/main.c @@ -15,6 +15,7 @@ int main(int argc, char *argv[]) { int ret = EXIT_FAILURE; + int setup_res; test_open_streams(); @@ -26,11 +27,11 @@ int main(int argc, char *argv[]) if (!setup_test_framework(argc, argv)) goto end; - if (setup_tests()) { + if ((setup_res = setup_tests()) > 0) { ret = run_tests(argv[0]); cleanup_tests(); opt_check_usage(); - } else { + } else if (setup_res == 0) { opt_help(test_get_options()); } end: