]> git.ipfire.org Git - thirdparty/openvpn.git/commitdiff
test_tls_crypt: Fix test failure on Windows
authorFrank Lichtenheld <frank@lichtenheld.com>
Tue, 14 Jul 2026 12:12:29 +0000 (14:12 +0200)
committerGert Doering <gert@greenie.muc.de>
Tue, 14 Jul 2026 14:13:49 +0000 (16:13 +0200)
- 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 <frank@lichtenheld.com>
Acked-by: Lev Stipakov <lstipakov@gmail.com>
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 <gert@greenie.muc.de>
CMakeLists.txt
tests/unit_tests/openvpn/test_tls_crypt.c

index 8de836a7137efed91cd28d0b3b5b9f780aac5cff..23541a5dbe5ac1f62b595597333cc3d88ad2d8ba 100644 (file)
@@ -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
         )
 
index 1d8ac2582fe4331575e5d91c65ea98b470535051..fa313d0c3f89d87d0ec36fcb7d7eef8f989fde47 100644 (file)
@@ -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);