From: Frank Lichtenheld Date: Tue, 14 Jul 2026 12:12:29 +0000 (+0200) Subject: test_tls_crypt: Fix test failure on Windows X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=a3942a62ff3c8e8f0a5dc577e24552a4d4fa5fb0;p=thirdparty%2Fopenvpn.git test_tls_crypt: Fix test failure on Windows - Exclude tests that use verify_script on Windows. We currently do not have openvpn_execve available for Windows tests. It would also need more work to replace the hardcoded paths. - Use platform_gen_path instead of hard-coding / Do to the previous change that is not strictly necessary, but it also doesn't hurt and it fixes at least one issue if anyone ever decides to port this to Windows). Change-Id: I45ddc8e350d3948b3197ae725df102d8ce73fa77 Signed-off-by: Frank Lichtenheld Acked-by: Lev Stipakov Gerrit URL: https://gerrit.openvpn.net/c/openvpn/+/1781 Message-Id: <20260714121238.13936-1-gert@greenie.muc.de> URL: https://www.mail-archive.com/openvpn-devel@lists.sourceforge.net/msg37593.html Signed-off-by: Gert Doering --- diff --git a/CMakeLists.txt b/CMakeLists.txt index 8de836a71..23541a5db 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -819,7 +819,6 @@ if (BUILD_TESTING) target_sources(test_mbuf PRIVATE tests/unit_tests/openvpn/mock_get_random.c - src/openvpn/buffer.c src/openvpn/mbuf.c ) diff --git a/tests/unit_tests/openvpn/test_tls_crypt.c b/tests/unit_tests/openvpn/test_tls_crypt.c index 1d8ac2582..fa313d0c3 100644 --- a/tests/unit_tests/openvpn/test_tls_crypt.c +++ b/tests/unit_tests/openvpn/test_tls_crypt.c @@ -710,7 +710,7 @@ tls_crypt_v2_unwrap_checks(void **state) assert_true(tls_crypt_v2_extract_client_key(&tmp, &wrap_ctx, &tls_options)); tls_wrap_free(&wrap_ctx); - +#ifndef _WIN32 /* Use /bin/true as verify script */ script_security_set(2); tls_options.tls_crypt_v2_verify_script = "/usr/bin/true"; @@ -727,11 +727,12 @@ tls_crypt_v2_unwrap_checks(void **state) * platform_create_temp_file() */ char non_random_tmpfile[128]; snprintf(non_random_tmpfile, sizeof(non_random_tmpfile), - "%s/" PACKAGE "_tls_crypt_v2_metadata__%08" PRIx64 "%08" PRIx64 ".tmp", - tls_options.tmp_dir, get_random(), get_random()); - unlink(non_random_tmpfile); + PACKAGE "_tls_crypt_v2_metadata__%08" PRIx64 "%08" PRIx64 ".tmp", + get_random(), get_random()); + const char *tmpfile_path = platform_gen_path(tls_options.tmp_dir, non_random_tmpfile, &ctx->gc); + unlink(tmpfile_path); - expect_string(__wrap_buffer_write_file, filename, non_random_tmpfile); + expect_string(__wrap_buffer_write_file, filename, tmpfile_path); /* We do not write the first byte (type) to the file but rather to a * metadata_type environment variable */ @@ -752,7 +753,7 @@ tls_crypt_v2_unwrap_checks(void **state) tls_options.tls_crypt_v2_verify_script = "/bin/false"; } - expect_string(__wrap_buffer_write_file, filename, non_random_tmpfile); + expect_string(__wrap_buffer_write_file, filename, tmpfile_path); expect_memory(__wrap_buffer_write_file, pem, buf_bptr(&expected_metadata), buf_len(&expected_metadata)); will_return(__wrap_buffer_write_file, true); @@ -760,8 +761,8 @@ tls_crypt_v2_unwrap_checks(void **state) assert_false(tls_crypt_v2_extract_client_key(&tmp, &wrap_ctx, &tls_options)); tls_wrap_free(&wrap_ctx); - tls_options.tls_crypt_v2_verify_script = NULL; +#endif /* An outdated time should fail */ tmp = create_client_key_input(ctx, 31);