Refactor skip test statements.

Reviewed-by: Tomas Mraz <tomas@openssl.org>
Reviewed-by: Matt Caswell <matt@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/23319)
This commit is contained in:
Frederik Wedel-Heinen 2024-01-31 09:35:27 +01:00 committed by Matt Caswell
parent eb62ca5fb0
commit fa9e6f178d

View 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");