diff options
-rwxr-xr-x | test/recipes/70-test_sslextension.t (renamed from test/sslextensiontest.pl) | 20 | ||||
-rwxr-xr-x | test/recipes/70-test_sslskewith0p.t (renamed from test/sslskewith0ptest.pl) | 20 | ||||
-rwxr-xr-x | test/recipes/70-test_sslvertol.t (renamed from test/sslvertoltest.pl) | 22 | ||||
-rw-r--r-- | test/run_tests.pl | 4 |
4 files changed, 52 insertions, 14 deletions
diff --git a/test/sslextensiontest.pl b/test/recipes/70-test_sslextension.t index 802bac19a4..4aa3f61f7d 100755 --- a/test/sslextensiontest.pl +++ b/test/recipes/70-test_sslextension.t @@ -53,18 +53,30 @@ # Hudson (tjh@cryptsoft.com). use strict; +use OpenSSL::Test qw/:DEFAULT cmdstr top_file top_dir/; use TLSProxy::Proxy; +my $test_name = "test_sslextension"; +setup($test_name); + +plan skip_all => "$test_name can only be performed with OpenSSL configured shared" + unless (map { chomp; s/^SHARED_LIBS=\s*//; $_ } + grep { /^SHARED_LIBS=/ } + do { local @ARGV = ( top_file("Makefile") ); <> })[0] ne ""; + +$ENV{OPENSSL_ENGINES} = top_dir("engines"); +$ENV{OPENSSL_ia32cap} = '~0x200000200000000'; my $proxy = TLSProxy::Proxy->new( \&extension_filter, - @ARGV + cmdstr(app(["openssl"])), + top_file("apps", "server.pem") ); +plan tests => 1; + #Test 1: Sending a zero length extension block should pass $proxy->start(); -TLSProxy::Message->success or die "FAILED: Zero extension length test\n"; - -print "SUCCESS: Extension test\n"; +ok(TLSProxy::Message->success, "Zero extension length test"); sub extension_filter { diff --git a/test/sslskewith0ptest.pl b/test/recipes/70-test_sslskewith0p.t index 63f83980a8..d8d74b33e3 100755 --- a/test/sslskewith0ptest.pl +++ b/test/recipes/70-test_sslskewith0p.t @@ -53,21 +53,33 @@ # Hudson (tjh@cryptsoft.com). use strict; +use OpenSSL::Test qw/:DEFAULT cmdstr top_file top_dir/; use TLSProxy::Proxy; +my $test_name = "test_sslskewith0p"; +setup($test_name); + +plan skip_all => "$test_name can only be performed with OpenSSL configured shared" + unless (map { chomp; s/^SHARED_LIBS=\s*//; $_ } + grep { /^SHARED_LIBS=/ } + do { local @ARGV = ( top_file("Makefile") ); <> })[0] ne ""; + +$ENV{OPENSSL_ENGINES} = top_dir("engines"); +$ENV{OPENSSL_ia32cap} = '~0x200000200000000'; my $proxy = TLSProxy::Proxy->new( \&ske_0_p_filter, - @ARGV + cmdstr(app(["openssl"])), + top_file("apps", "server.pem") ); +plan tests => 1; + #We must use an anon DHE cipher for this test $proxy->cipherc('ADH-AES128-SHA:@SECLEVEL=0'); $proxy->ciphers('ADH-AES128-SHA:@SECLEVEL=0'); $proxy->start(); -TLSProxy::Message->fail or die "FAILED: ServerKeyExchange with 0 p\n"; - -print "SUCCESS: ServerKeyExchange with 0 p\n"; +ok(TLSProxy::Message->fail, "ServerKeyExchange with 0 p"); sub ske_0_p_filter { diff --git a/test/sslvertoltest.pl b/test/recipes/70-test_sslvertol.t index 1828a7d1bb..9717f80bdb 100755 --- a/test/sslvertoltest.pl +++ b/test/recipes/70-test_sslvertol.t @@ -53,24 +53,36 @@ # Hudson (tjh@cryptsoft.com). use strict; +use OpenSSL::Test qw/:DEFAULT cmdstr top_file top_dir/; use TLSProxy::Proxy; +my $test_name = "test_sslextension"; +setup($test_name); + +plan skip_all => "$test_name can only be performed with OpenSSL configured shared" + unless (map { chomp; s/^SHARED_LIBS=\s*//; $_ } + grep { /^SHARED_LIBS=/ } + do { local @ARGV = ( top_file("Makefile") ); <> })[0] ne ""; + +$ENV{OPENSSL_ENGINES} = top_dir("engines"); +$ENV{OPENSSL_ia32cap} = '~0x200000200000000'; my $proxy = TLSProxy::Proxy->new( \&vers_tolerance_filter, - @ARGV + cmdstr(app(["openssl"])), + top_file("apps", "server.pem") ); +plan tests => 2; + #Test 1: Asking for TLS1.3 should pass my $client_version = TLSProxy::Record::VERS_TLS_1_3; $proxy->start(); -TLSProxy::Message->success or die "FAILED: Version tolerance test\n"; +ok(TLSProxy::Message->success(), "Version tolerance test, TLS 1.3"); #Test 2: Testing something below SSLv3 should fail $client_version = TLSProxy::Record::VERS_SSL_3_0 - 1; $proxy->restart(); -TLSProxy::Message->success and die "FAILED: Version tolerance test\n"; - -print "SUCCESS: Version tolerance test\n"; +ok(TLSProxy::Message->fail(), "Version tolerance test, SSL < 3.0"); sub vers_tolerance_filter { diff --git a/test/run_tests.pl b/test/run_tests.pl index 746b0d192d..7e61282f16 100644 --- a/test/run_tests.pl +++ b/test/run_tests.pl @@ -10,15 +10,17 @@ use Test::Harness qw/runtests $switches/; my $top = $ENV{TOP}; my $recipesdir = catdir($top, "test", "recipes"); my $testlib = catdir($top, "test", "testlib"); +my $utillib = catdir($top, "util"); # It seems that $switches is getting interpretted with 'eval' or something # like that, and that we need to take care of backslashes or they will # disappear along the way. $testlib =~ s|\\|\\\\|g if $^O eq "MSWin32"; +$utillib =~ s|\\|\\\\|g if $^O eq "MSWin32"; # Test::Harness provides the variable $switches to give it # switches to be used when it calls our recipes. -$switches = "-w \"-I$testlib\""; +$switches = "-w \"-I$testlib\" \"-I$utillib\""; my @tests = ( "alltests" ); if (@ARGV) { |