]> git.vpit.fr Git - perl/modules/rgit.git/blobdiff - t/lib/App/Rgit/TestUtils.pm
Yet less namespace pollution
[perl/modules/rgit.git] / t / lib / App / Rgit / TestUtils.pm
index 07b1bd7c4e5212260a9f9dcdf3c243cf7fe133b6..321f96474b6972f69f65ec0b490a6931dabd95d1 100644 (file)
@@ -5,13 +5,15 @@ use warnings;
 
 use Cwd        qw/abs_path/;
 use File::Temp qw/tempfile/;
-use POSIX      qw/WIFEXITED WEXITSTATUS WIFSIGNALED WTERMSIG SIGINT SIGQUIT/;
+use File::Spec (); # curdir, catfile
+use POSIX      qw/WIFEXITED WEXITSTATUS WIFSIGNALED WTERMSIG/;
 
 BEGIN {
  no warnings 'redefine';
  *WIFEXITED   = sub { 1 }             unless eval { WIFEXITED(0);   1 };
  *WEXITSTATUS = sub { shift() >> 8 }  unless eval { WEXITSTATUS(0); 1 };
  *WIFSIGNALED = sub { shift() & 127 } unless eval { WIFSIGNALED(0); 1 };
+ *WTERMSIG    = sub { shift() & 127 } unless eval { WTERMSIG(0);    1 };
 }
 
 use base qw/Exporter/;
@@ -23,26 +25,26 @@ sub can_run_git {
 
  my @ret = (1, '');
 
-CHECK:
+TRY:
  {
   my @args = (
    abs_path($filename),
    'version',
   );
 
-  my $git = 't/bin/git';
+  my $git = File::Spec->catfile(File::Spec->curdir, qw/t bin git/);
   if ($^O eq 'MSWin32') {
    unless (-x $git) {
     $git .= '.bat';
     unless (-x $git) {
      @ret = (0, "no $git executable");
-     last CHECK;
+     last TRY;
     }
    }
   } else {
    unless (-x $git) {
     @ret = (0, "no $git executable");
-    last CHECK;
+    last TRY;
    }
   }
 
@@ -50,7 +52,7 @@ CHECK:
 
   if ($? == -1) {
    @ret = (0, $! || "unknown");
-   last CHECK;
+   last TRY;
   }
 
   my $status;