]> git.ipfire.org Git - thirdparty/openssl.git/commitdiff
Refactor skip test statements.
authorFrederik Wedel-Heinen <frederik.wedel-heinen@dencrypt.dk>
Wed, 31 Jan 2024 08:35:27 +0000 (09:35 +0100)
committerMatt Caswell <matt@openssl.org>
Fri, 9 Feb 2024 08:16:56 +0000 (08:16 +0000)
Reviewed-by: Tomas Mraz <tomas@openssl.org>
Reviewed-by: Matt Caswell <matt@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/23319)

test/recipes/70-test_sslrecords.t

index b92e7cbcd959b1b5a28279f6818efaba5b0a8b4e..89d584683d6455df098570bc773bccc844157080 100644 (file)
@@ -36,48 +36,18 @@ my $boundary_test_type = undef;
 my $fatal_alert = undef; # set by filters at expected fatal alerts
 my $sslv2testtype = undef;
 my $proxy_start_success = 0;
-my $dtlsproxy = undef;
-my $tlsproxy = undef;
-
-my $dummyproxy = TLSProxy::Proxy->new(
-    \&add_empty_recs_filter,
-    cmdstr(app([ "openssl" ]), display => 1),
-    srctop_file("apps", "server.pem"),
-    (!$ENV{HARNESS_ACTIVE} || $ENV{HARNESS_VERBOSE})
-);
-
-# Avoid failures with tls1_3 disabled builds
-# TLSProxy defaults to use tls1_3 and tls1_2 is required by the tests so
-# set it here and check that a simple proxy works before running the tests
-if (disabled("tls1_3")) {
-    $dummyproxy->serverflags("-tls1_2");
-    $dummyproxy->clientflags("-no_tls1_3");
-}
-$dummyproxy->start() or plan skip_all => "Unable to start up Proxy for tests";
+
 plan tests => 42;
 
 SKIP: {
     skip "TLS 1.2 is disabled", 21 if disabled("tls1_2");
     # Run tests with TLS
-    $tlsproxy = TLSProxy::Proxy->new(
-        \&add_empty_recs_filter,
-        cmdstr(app([ "openssl" ]), display => 1),
-        srctop_file("apps", "server.pem"),
-        (!$ENV{HARNESS_ACTIVE} || $ENV{HARNESS_VERBOSE})
-    );
     run_tests(0);
 }
 
 SKIP: {
     skip "DTLS 1.2 is disabled", 21 if disabled("dtls1_2");
     skip "DTLSProxy does not work on Windows", 21 if $^O =~ /^(MSWin32)$/;
-    # Run tests with DTLS
-    $dtlsproxy = TLSProxy::Proxy->new_dtls(
-        \&add_empty_recs_filter,
-        cmdstr(app([ "openssl" ]), display => 1),
-        srctop_file("apps", "server.pem"),
-        (!$ENV{HARNESS_ACTIVE} || $ENV{HARNESS_VERBOSE})
-    );
     run_tests(1);
 }
 
@@ -87,9 +57,19 @@ sub run_tests
 
     my $proxy;
     if ($run_test_as_dtls == 1) {
-        $proxy = $dtlsproxy;
+        $proxy = TLSProxy::Proxy->new_dtls(
+            \&add_empty_recs_filter,
+            cmdstr(app([ "openssl" ]), display => 1),
+            srctop_file("apps", "server.pem"),
+            (!$ENV{HARNESS_ACTIVE} || $ENV{HARNESS_VERBOSE})
+        );
     } else {
-        $proxy = $tlsproxy;
+        $proxy = TLSProxy::Proxy->new(
+            \&add_empty_recs_filter,
+            cmdstr(app([ "openssl" ]), display => 1),
+            srctop_file("apps", "server.pem"),
+            (!$ENV{HARNESS_ACTIVE} || $ENV{HARNESS_VERBOSE})
+        );
     }
 
     $fatal_alert = 0; # set by filters at expected fatal alerts
@@ -102,10 +82,13 @@ sub run_tests
         $fatal_alert = 0;
         $proxy->serverflags("-tls1_2");
         $proxy->clientflags("-no_tls1_3");
-        $proxy->start();
+        $proxy_start_success = $proxy->start();
         ok($fatal_alert, "Out of context empty records test");
     }
 
+    skip "TLSProxy did not start correctly", 21 if $proxy_start_success == 0
+                                                   && $run_test_as_dtls == 0;
+
     #Test 2: Injecting in context empty records should succeed
     $proxy->clear();
     $content_type = TLSProxy::Record::RT_HANDSHAKE;
@@ -117,6 +100,10 @@ sub run_tests
         $proxy->clientflags("-no_tls1_3");
     }
     $proxy_start_success = $proxy->start();
+
+    skip "TLSProxy did not start correctly", 20 if $proxy_start_success == 0
+                                                   && $run_test_as_dtls == 1;
+
     ok($proxy_start_success && TLSProxy::Message->success(),
        "In context empty records test".($run_test_as_dtls == 1) ? " for DTLS" : " for TLS");