# Tests for correct handling of maybe_command in /cygdrive/*
# and c:/*. $ENV{COMSPEC}, if it exists, should always be executable.
-
SKIP: {
- my $comspec = $ENV{COMSPEC};
-
- skip("\$ENV{COMSPEC} does not exist", 3) unless $comspec;
+ skip "Needs Cygwin::win_to_posix_path()", 2 unless defined &Cygwin::win_to_posix_path;
- # Convert into cygwin-flavoured '/cygdrive/c/...' path.
- # Is there a better way than direct munging? A File::*
- # module perhaps?
+ SKIP: {
+ my $comspec = $ENV{COMSPEC};
+ skip(q[$ENV{COMSPEC} does not exist], 1) unless $comspec;
- $comspec =~ s{^(\w):} {/cygdrive/\l$1}x;
- $comspec =~ s{\\ } {/}gx;
+ $comspec = Cygwin::win_to_posix_path($comspec);
- ok(MM->maybe_command($comspec),"$comspec should be executable");
-
- # /cygdrive/c should *never* be executable, it's a directory.
+ ok(MM->maybe_command($comspec), qq{'$comspec' should be executable"});
+ }
- ok(! MM->maybe_command(q{/cygdrive/c}),
- qq{/cygdrive/c should never be executable}
- );
+ # 'C:/' should *never* be executable, it's a directory.
+ {
+ my $cdrive = Cygwin::win_to_posix_path("C:/");
- # Our copy of Perl (with a unix-path) should always be executable.
+ ok(!MM->maybe_command($cdrive), qq{'$cdrive' should never be executable});
+ }
+}
- ok(MM->maybe_command($Config{perlpath}),
- qq{$Config{perlpath} should be executable}
- );
+# Our copy of Perl (with a unix-path) should always be executable.
+ok(MM->maybe_command($Config{perlpath}), qq{'$Config{perlpath}' should be executable});
-}
package FakeOut;