BEGIN {
chdir 't' if -d 't';
@INC = '../lib';
+}
+
+BEGIN {
1 while unlink 'ecmdfile';
# forcibly remove ecmddir/temp2, but don't import mkpath
use File::Path ();
File::Path::rmtree( 'ecmddir' );
}
-use Test::More tests => 21;
-use File::Spec;
-
-SKIP: {
- skip( 'ExtUtils::Command is a Win32 module', 21 )
- unless $^O =~ /Win32/;
+BEGIN {
+ use Test::More tests => 21;
+ use File::Spec;
+}
+{
use vars qw( *CORE::GLOBAL::exit );
# bad neighbor, but test_f() uses exit()
local *DIR;
opendir(DIR, File::Spec->curdir());
while ($file = readdir(DIR)) {
+ $file =~ s/\.\z// if $^O eq 'VMS';
last if $file =~ /^\w/;
}
}
# concatenate this file with itself
# be extra careful the regex doesn't match itself
my $out = tie *STDOUT, 'TieOut';
- @ARGV = ($0, $0);
+ my $self = $0;
+ unless (-f $self) {
+ my ($vol, $dirs, $file) = File::Spec->splitpath($self);
+ my @dirs = File::Spec->splitdir($dirs);
+ unshift(@dirs, File::Spec->updir);
+ $dirs = File::Spec->catdir(@dirs);
+ $self = File::Spec->catpath($vol, $dirs, $file);
+ }
+ @ARGV = ($self, $self);
cat();
is( scalar( $$out =~ s/use_ok\( 'ExtUtils::Command'//g), 2,
# these are destructive, have to keep setting @ARGV
@ARGV = ( 'ecmdfile' );
- my $now = time;
touch();
@ARGV = ( 'ecmdfile' );
@ARGV = ( 'ecmdfile' );
ok( -e $ARGV[0], 'created!' );
+ my ($now) = time;
+ utime ($now, $now, $ARGV[0]);
+
# Just checking modify time stamp, access time stamp is set
# to the beginning of the day in Win95
is( (stat($ARGV[0]))[9], $now, 'checking modify time stamp' );
@ARGV = ( 0600, 'ecmdfile' );
ExtUtils::Command::chmod();
- is( (stat('ecmdfile'))[2] & 07777, 0600, 'removed non-owner permissions' );
+ is( ((stat('ecmdfile'))[2] & 07777) & 0700, 0600, 'change a file to read-only' );
# mkpath
@ARGV = ( File::Spec->join( 'ecmddir', 'temp2' ) );