[openssl-commits] [openssl] master update

Richard Levitte levitte at openssl.org
Mon Jan 25 16:54:00 UTC 2016


The branch master has been updated
       via  83365051f5d91dece1973016dbdd6ce7541a5bcf (commit)
      from  dc193c9c5e914c74fd0f51fe4fe86fbd5910536e (commit)


- Log -----------------------------------------------------------------
commit 83365051f5d91dece1973016dbdd6ce7541a5bcf
Author: Richard Levitte <richard at levitte.org>
Date:   Mon Jan 25 15:48:35 2016 +0100

    Make tests use configdata.pm rather than parsing Makefile
    
    Reviewed-by: Rich Salz <rsalz at openssl.org>

-----------------------------------------------------------------------

Summary of changes:
 Configure                             | 16 ++++++++--------
 test/recipes/70-test_sslcertstatus.t  |  4 +---
 test/recipes/70-test_sslextension.t   |  4 +---
 test/recipes/70-test_sslsessiontick.t |  4 +---
 test/recipes/70-test_sslskewith0p.t   |  4 +---
 test/recipes/70-test_sslvertol.t      |  4 +---
 test/recipes/70-test_tlsextms.t       |  4 +---
 test/testlib/OpenSSL/Test/Utils.pm    | 22 ++++++++++++++++++++--
 8 files changed, 34 insertions(+), 28 deletions(-)

diff --git a/Configure b/Configure
index 276a143..e717eb3 100755
--- a/Configure
+++ b/Configure
@@ -187,7 +187,7 @@ my $nofipscanistercheck=0;
 my $baseaddr="0xFB00000";
 my $no_threads=0;
 my $threads=0;
-my $no_shared=0; # but "no-shared" is default
+$config{no_shared}=0; # but "no-shared" is default
 my $zlib=1;      # but "no-zlib" is default
 my $no_rfc3779=0;
 my $no_asm=0;
@@ -705,7 +705,7 @@ foreach (sort (keys %disabled))
 	elsif (/^threads$/)
 		{ $no_threads = 1; }
 	elsif (/^shared$/)
-		{ $no_shared = 1; }
+		{ $config{no_shared} = 1; }
 	elsif (/^zlib$/)
 		{ $zlib = 0; }
 	elsif (/^static-engine$/)
@@ -949,10 +949,10 @@ if (defined($disabled{"deprecated"})) {
 my $shared_mark = "";
 if ($target{shared_target} eq "")
 	{
-	$no_shared_warn = 1 if !$no_shared && !$fips;
-	$no_shared = 1;
+	$no_shared_warn = 1 if !$config{no_shared} && !$fips;
+	$config{no_shared} = 1;
 	}
-if (!$no_shared)
+if (!$config{no_shared})
 	{
 	if ($target{shared_cflag} ne "")
 		{
@@ -963,7 +963,7 @@ if (!$no_shared)
 if ($target{build_scheme}->[0] ne "mk1mf")
 	{
 	# add {no-}static-engine to options to allow mkdef.pl to work without extra arguments
-	if ($no_shared)
+	if ($config{no_shared})
 		{
 		push @{$config{openssl_other_defines}}, "OPENSSL_NO_DYNAMIC_ENGINE";
 		$config{options}.=" static-engine";
@@ -1067,7 +1067,7 @@ if (!$no_asm) {
     if ($target{md5_obj} =~ /\.o$/) {
 	$cflags.=" -DMD5_ASM";
     }
-    $target{cast_obj}=$table{BASE}->{cast_obj} if (!$no_shared); # CAST assembler is not PIC
+    $target{cast_obj}=$table{BASE}->{cast_obj} if (!$config{no_shared}); # CAST assembler is not PIC
     if ($target{rmd160_obj} =~ /\.o$/) {
 	$cflags.=" -DRMD160_ASM";
     }
@@ -1361,7 +1361,7 @@ while (<IN>)
 	s/^BASEADDR=.*/BASEADDR=$baseaddr/;
 	s/^SHLIB_TARGET=.*/SHLIB_TARGET=$target{shared_target}/;
 	s/^SHLIB_MARK=.*/SHLIB_MARK=$shared_mark/;
-	s/^SHARED_LIBS=.*/SHARED_LIBS=\$(SHARED_CRYPTO) \$(SHARED_SSL)/ if (!$no_shared);
+	s/^SHARED_LIBS=.*/SHARED_LIBS=\$(SHARED_CRYPTO) \$(SHARED_SSL)/ if (!$config{no_shared});
 	if ($target{shared_extension} ne "" && $target{shared_extension} =~ /^\.s([ol])\.[^\.]*$/)
 		{
 		my $sotmp = $1;
diff --git a/test/recipes/70-test_sslcertstatus.t b/test/recipes/70-test_sslcertstatus.t
index 65a5ec1..f7c6363 100755
--- a/test/recipes/70-test_sslcertstatus.t
+++ b/test/recipes/70-test_sslcertstatus.t
@@ -67,9 +67,7 @@ plan skip_all => "$test_name needs the engine feature enabled"
     if disabled("engine");
 
 plan skip_all => "$test_name can only be performed with OpenSSL configured shared"
-    unless (map { s/\R//; s/^SHARED_LIBS=\s*//; $_ }
-        grep { /^SHARED_LIBS=/ }
-        do { local @ARGV = ( top_file("Makefile") ); <> })[0] ne "";
+    if config("no_shared");
 
 $ENV{OPENSSL_ENGINES} = top_dir("engines");
 $ENV{OPENSSL_ia32cap} = '~0x200000200000000';
diff --git a/test/recipes/70-test_sslextension.t b/test/recipes/70-test_sslextension.t
index 29cff45..31632a7 100755
--- a/test/recipes/70-test_sslextension.t
+++ b/test/recipes/70-test_sslextension.t
@@ -67,9 +67,7 @@ plan skip_all => "$test_name needs the engine feature enabled"
     if disabled("engine");
 
 plan skip_all => "$test_name can only be performed with OpenSSL configured shared"
-    unless (map { s/\R//; s/^SHARED_LIBS=\s*//; $_ }
-	    grep { /^SHARED_LIBS=/ }
-	    do { local @ARGV = ( top_file("Makefile") ); <> })[0] ne "";
+    if config("no_shared");
 
 $ENV{OPENSSL_ENGINES} = top_dir("engines");
 $ENV{OPENSSL_ia32cap} = '~0x200000200000000';
diff --git a/test/recipes/70-test_sslsessiontick.t b/test/recipes/70-test_sslsessiontick.t
index 84fc4df..84ab661 100755
--- a/test/recipes/70-test_sslsessiontick.t
+++ b/test/recipes/70-test_sslsessiontick.t
@@ -68,9 +68,7 @@ plan skip_all => "$test_name needs the engine feature enabled"
     if disabled("engine");
 
 plan skip_all => "$test_name can only be performed with OpenSSL configured shared"
-    unless (map { s/\R//; s/^SHARED_LIBS=\s*//; $_ }
-	    grep { /^SHARED_LIBS=/ }
-	    do { local @ARGV = ( top_file("Makefile") ); <> })[0] ne "";
+    if config("no_shared");
 
 $ENV{OPENSSL_ENGINES} = top_dir("engines");
 $ENV{OPENSSL_ia32cap} = '~0x200000200000000';
diff --git a/test/recipes/70-test_sslskewith0p.t b/test/recipes/70-test_sslskewith0p.t
index c31ea0d..39c0409 100755
--- a/test/recipes/70-test_sslskewith0p.t
+++ b/test/recipes/70-test_sslskewith0p.t
@@ -67,9 +67,7 @@ plan skip_all => "$test_name needs the engine feature enabled"
     if disabled("engine");
 
 plan skip_all => "$test_name can only be performed with OpenSSL configured shared"
-    unless (map { s/\R//; s/^SHARED_LIBS=\s*//; $_ }
-	    grep { /^SHARED_LIBS=/ }
-	    do { local @ARGV = ( top_file("Makefile") ); <> })[0] ne "";
+    if config("no_shared");
 
 plan skip_all => "dh is not supported by this OpenSSL build"
     if disabled("dh");
diff --git a/test/recipes/70-test_sslvertol.t b/test/recipes/70-test_sslvertol.t
index d626763..c711d86 100755
--- a/test/recipes/70-test_sslvertol.t
+++ b/test/recipes/70-test_sslvertol.t
@@ -67,9 +67,7 @@ plan skip_all => "$test_name needs the engine feature enabled"
     if disabled("engine");
 
 plan skip_all => "$test_name can only be performed with OpenSSL configured shared"
-    unless (map { s/\R//; s/^SHARED_LIBS=\s*//; $_ }
-	    grep { /^SHARED_LIBS=/ }
-	    do { local @ARGV = ( top_file("Makefile") ); <> })[0] ne "";
+    if config("no_shared");
 
 $ENV{OPENSSL_ENGINES} = top_dir("engines");
 $ENV{OPENSSL_ia32cap} = '~0x200000200000000';
diff --git a/test/recipes/70-test_tlsextms.t b/test/recipes/70-test_tlsextms.t
index b6ff47e..a861064 100644
--- a/test/recipes/70-test_tlsextms.t
+++ b/test/recipes/70-test_tlsextms.t
@@ -68,9 +68,7 @@ plan skip_all => "$test_name needs the engine feature enabled"
     if disabled("engine");
 
 plan skip_all => "$test_name can only be performed with OpenSSL configured shared"
-    unless (map { s/\R//; s/^SHARED_LIBS=\s*//; $_ }
-        grep { /^SHARED_LIBS=/ }
-        do { local @ARGV = ( top_file("Makefile") ); <> })[0] ne "";
+    if config("no_shared");
 
 $ENV{OPENSSL_ENGINES} = top_dir("engines");
 $ENV{OPENSSL_ia32cap} = '~0x200000200000000';
diff --git a/test/testlib/OpenSSL/Test/Utils.pm b/test/testlib/OpenSSL/Test/Utils.pm
index 5312c20..eed4424 100644
--- a/test/testlib/OpenSSL/Test/Utils.pm
+++ b/test/testlib/OpenSSL/Test/Utils.pm
@@ -7,7 +7,7 @@ use Exporter;
 use vars qw($VERSION @ISA @EXPORT @EXPORT_OK %EXPORT_TAGS);
 $VERSION = "0.1";
 @ISA = qw(Exporter);
- at EXPORT = qw(disabled);
+ at EXPORT = qw(disabled config);
 
 =head1 NAME
 
@@ -19,13 +19,15 @@ OpenSSL::Test::Utils - test utility functions
 
   disabled("dh");
 
+  config("no_shared");
+
 =head1 DESCRIPTION
 
 This module provides utility functions for the testing framework.
 
 =cut
 
-use OpenSSL::Test;
+use OpenSSL::Test qw/:DEFAULT top_file/;
 
 =over 4
 
@@ -36,6 +38,10 @@ In a scalar context returns 1 if any of the features in ARRAY is disabled.
 In an array context returns an array with each element set to 1 if the
 corresponding feature is disabled and 0 otherwise.
 
+=item B<config STRING>
+
+Returns an item from the %config hash in \$TOP/configdata.pm.
+
 =back
 
 =cut
@@ -70,6 +76,18 @@ sub disabled {
     return 0;
 }
 
+our %config;
+sub config {
+    if (!%config) {
+	# We eval it so it doesn't run at compile time of this file.
+	# The latter would have top_dir() complain that setup() hasn't
+	# been run yet.
+	my $configdata = top_file("configdata.pm");
+	eval { require $configdata; %config = %configdata::config };
+    }
+    return $config{$_[0]};
+}
+
 =head1 SEE ALSO
 
 L<OpenSSL::Test>


More information about the openssl-commits mailing list