Configure,test/recipes: "pin" glob to File::Glob::glob.
authorAndy Polyakov <appro@openssl.org>
Sat, 28 May 2016 14:11:01 +0000 (16:11 +0200)
committerAndy Polyakov <appro@openssl.org>
Sun, 29 May 2016 12:12:35 +0000 (14:12 +0200)
As it turns out default glob's behaviour for quoted argument varies
from version to version, making it impossible to Configure or run
tests in some cases. The reason for quoting globs was to accommodate
source path with spaces in its name, which was treated by default glob
as multiple paths. File::Glob::glob on the other hand doesn't consider
spaces as delimiters and therefore works with unquoted patterns.

[Unfortunaltely File::Glob::glob, being too csh-ly, doesn't work
on VMS, hence the "pinning" is conditional.]

Reviewed-by: Richard Levitte <levitte@openssl.org>
Configure
test/recipes/40-test_rehash.t
test/recipes/80-test_ssl_new.t
test/run_tests.pl
util/process_docs.pl

index 0c87cd1a699291094c90f6f7c79a005510173f1b..9e58fc133a72ef6995ef148bce93737fd7178706 100755 (executable)
--- a/Configure
+++ b/Configure
@@ -14,6 +14,9 @@ use strict;
 use File::Basename;
 use File::Spec::Functions qw/:DEFAULT abs2rel rel2abs/;
 use File::Path qw/mkpath/;
+if ($^O ne "VMS") {
+    use File::Glob qw/glob/;
+}
 
 # see INSTALL for instructions.
 
@@ -210,7 +213,7 @@ die "erroneous version information in opensslv.h: ",
 # Collect target configurations
 
 my $pattern = catfile(dirname($0), "Configurations", "*.conf");
-foreach (sort glob("\"$pattern\"") ) {
+foreach (sort glob($pattern)) {
     &read_config($_);
 }
 
@@ -223,7 +226,7 @@ if (defined $ENV{$local_config_envname}) {
         $pattern = catfile($ENV{$local_config_envname}, '*.conf');
     }
 
-    foreach (sort glob($pattern) ) {
+    foreach (sort glob($pattern)) {
         &read_config($_);
     }
 }
index c5c90e0bd6c55daaa402165f291f52435b2c697e..201d1add134b5e886c9954350de8413ac4b7107e 100644 (file)
@@ -13,6 +13,9 @@ use warnings;
 use File::Spec::Functions;
 use File::Copy;
 use File::Basename;
+if ($^O ne "VMS") {
+    use File::Glob qw/glob/;
+}
 use OpenSSL::Test qw/:DEFAULT bldtop_file/;
 
 setup("test_rehash");
@@ -59,9 +62,9 @@ indir "rehash.$$" => sub {
 sub prepare {
     my @sourcefiles =
         sort map { glob(bldtop_file('certs', 'demo', "*.$_")) } ('pem',
-                                                              'crt',
-                                                              'cer',
-                                                              'crl');
+                                                                 'crt',
+                                                                 'cer',
+                                                                 'crl');
     my @destfiles = ();
     foreach (@sourcefiles) {
         copy($_, curdir());
index 07f1291f69ec219462c02b8c16de3ffca7453856..b9f3fa8e8d11ed1f51bc8aa66510d0b5ac4ce9c3 100644 (file)
@@ -12,6 +12,9 @@ use warnings;
 
 use File::Basename;
 use File::Compare qw/compare_text/;
+if ($^O ne "VMS") {
+    use File::Glob qw/glob/;
+}
 
 use OpenSSL::Test qw/:DEFAULT srctop_dir srctop_file/;
 use OpenSSL::Test::Utils qw/disabled alldisabled available_protocols/;
@@ -20,7 +23,7 @@ setup("test_ssl_new");
 
 $ENV{TEST_CERTS_DIR} = srctop_dir("test", "certs");
 
-my @conf_srcs =  glob('"'.srctop_file("test", "ssl-tests", "*.conf.in").'"');
+my @conf_srcs =  glob(srctop_file("test", "ssl-tests", "*.conf.in"));
 map { s/;.*// } @conf_srcs if $^O eq "VMS";
 my @conf_files = map { basename($_) } @conf_srcs;
 map { s/\.in// } @conf_files;
index 6ce1521a75829ded30bade3c3a33885455e8e69d..b1084138ddf20185a35adce3359e53383e98714a 100644 (file)
@@ -16,6 +16,9 @@ BEGIN {
 
 use File::Spec::Functions qw/catdir catfile curdir abs2rel rel2abs/;
 use File::Basename;
+if ($^O ne "VMS") {
+    use File::Glob qw/glob/;
+}
 use Test::Harness qw/runtests $switches/;
 
 my $srctop = $ENV{SRCTOP} || $ENV{TOP};
@@ -42,13 +45,13 @@ my $list_mode = scalar(grep /^list$/, @tests) != 0;
 if (grep /^(alltests|list)$/, @tests) {
     @tests = grep {
        basename($_) =~ /^[0-9][0-9]-[^\.]*\.t$/
-    } glob('"'.catfile($recipesdir,"*.t").'"');
+    } glob(catfile($recipesdir,"*.t"));
 } else {
     my @t = ();
     foreach (@tests) {
        push @t, grep {
            basename($_) =~ /^[0-9][0-9]-[^\.]*\.t$/
-       } glob('"'.catfile($recipesdir,"*-$_.t").'"');
+       } glob(catfile($recipesdir,"*-$_.t"));
     }
     @tests = @t;
 }
index efc4ef53616197cbb5815f8d6536cdd032382b9d..cf1d3260655e06d14cdd82046028884188e00a7f 100644 (file)
@@ -13,6 +13,9 @@ use File::Spec::Functions;
 use File::Basename;
 use File::Copy;
 use File::Path;
+if ($^O ne "VMS") {
+    use File::Glob qw/glob/;
+}
 use Getopt::Long;
 use Pod::Usage;
 
@@ -72,7 +75,7 @@ my $symlink_exists = eval { symlink("",""); 1 };
 foreach my $subdir (keys %{$options{subdir}}) {
     my $section = $options{subdir}->{$subdir};
     my $podsourcedir = catfile($options{sourcedir}, $subdir);
-    my $podglob = '"'.catfile($podsourcedir, "*.pod").'"';
+    my $podglob = catfile($podsourcedir, "*.pod");
 
     foreach my $podfile (glob $podglob) {
         my $podname = basename($podfile, ".pod");