This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
regen/mk_invlists.pl: Allow enums/defines to be in re_comp.c
[perl5.git] / lib / blib.t
index 4871f91..2ad9827 100644 (file)
@@ -6,11 +6,30 @@ BEGIN {
 }
 
 use strict;
+use File::Spec;
 my($blib, $blib_arch, $blib_lib, @blib_dirs);
 
+my $Is_VMS   = $^O eq 'VMS';
+my $Is_VMS_mode = 0;
+
+if ($Is_VMS) {
+    require VMS::Filespec if $Is_VMS;
+    my $vms_unix_rpt;
+
+    $Is_VMS_mode = 1;
+    if (eval 'require VMS::Feature') {
+        $vms_unix_rpt = VMS::Feature::current("filename_unix_report");
+    } else {
+        my $unix_rpt = $ENV{'DECC$FILENAME_UNIX_REPORT'} || '';
+        $vms_unix_rpt = $unix_rpt =~ /^[ET1]/i; 
+    }
+    $Is_VMS_mode = 0 if ($vms_unix_rpt);
+}
+
+
 sub _cleanup {
     rmdir foreach reverse (@_);
-    unlink "stderr" unless $^O eq 'MacOS';
+    unlink "stderr";
 }
 
 sub _mkdirs {
@@ -22,21 +41,10 @@ sub _mkdirs {
     
 
 BEGIN {
-    if ($^O eq 'MacOS')
-    {
-       $MacPerl::Architecture = $MacPerl::Architecture; # shhhhh
-       $blib = ":blib:";
-       $blib_lib = ":blib:lib:";
-       $blib_arch = ":blib:lib:$MacPerl::Architecture:";
-       @blib_dirs = ($blib, $blib_lib, $blib_arch); # order
-    }
-    else
-    {
-       $blib = "blib";
-       $blib_arch = "blib/arch";
-       $blib_lib = "blib/lib";
-       @blib_dirs = ($blib, $blib_arch, $blib_lib);
-    }
+    $blib = "blib";
+    $blib_arch = "blib/arch";
+    $blib_lib = "blib/lib";
+    @blib_dirs = ($blib, $blib_arch, $blib_lib);
     _cleanup( @blib_dirs );
 }
 
@@ -51,13 +59,26 @@ _mkdirs( @blib_dirs );
     my $warnings = '';
     local $SIG{__WARN__} = sub { $warnings = join '', @_ };
     use_ok('blib');
-    is( $warnings, '',  'use blib is niiiice and quiet' );
+    is( $warnings, '',  'use blib is nice and quiet' );
 }
 
 is( @INC, 3, '@INC now has 3 elements' );
 is( $INC[2],    '../lib',       'blib added to the front of @INC' );
 
-ok( grep(m|$blib_lib$|, @INC[0,1])  == 1,     '  blib/lib in @INC');
-ok( grep(m|$blib_arch$|, @INC[0,1]) == 1,     '  blib/arch in @INC');
+if ($Is_VMS_mode) {
+    # Unix syntax is accepted going in but it's not what comes out
+    # So we don't use catdir above
+    $blib_arch = 'blib.arch]';
+    $blib_lib = 'blib.lib]';
+}
+else
+{
+    $blib_arch = File::Spec->catdir("blib","arch");
+    $blib_lib  = File::Spec->catdir("blib","lib");
+}
+
+
+ok( grep(m|\Q$blib_lib\E$|, @INC[0,1])  == 1,     "  $blib_lib in \@INC");
+ok( grep(m|\Q$blib_arch\E$|, @INC[0,1]) == 1,     "  $blib_arch in \@INC");
 
 END { _cleanup( @blib_dirs ); }