about summary refs log tree commit homepage
path: root/lib/PublicInbox/TestCommon.pm
diff options
context:
space:
mode:
Diffstat (limited to 'lib/PublicInbox/TestCommon.pm')
-rw-r--r--lib/PublicInbox/TestCommon.pm12
1 files changed, 5 insertions, 7 deletions
diff --git a/lib/PublicInbox/TestCommon.pm b/lib/PublicInbox/TestCommon.pm
index aeff5d1d..00e96aee 100644
--- a/lib/PublicInbox/TestCommon.pm
+++ b/lib/PublicInbox/TestCommon.pm
@@ -167,11 +167,8 @@ sub require_git ($;$) {
 sub require_git_http_backend (;$) {
         my ($nr) = @_;
         state $ok = do {
-                require PublicInbox::Git;
-                my $git = PublicInbox::Git::check_git_exe() or plan
-                        skip_all => 'nothing in public-inbox works w/o git';
                 my $rdr = { 1 => \my $out, 2 => \my $err };
-                xsys([$git, qw(http-backend)], undef, $rdr);
+                xsys([qw(git http-backend)], undef, $rdr);
                 $out =~ /^Status:/ism;
         };
         if (!$ok) {
@@ -274,15 +271,16 @@ sub require_mods {
 
 sub key2script ($) {
         my ($key) = @_;
-        return $key if ($key eq 'git' || index($key, '/') >= 0);
+        require PublicInbox::Git;
+        return PublicInbox::Git::git_exe() if $key eq 'git';
+        return $key if index($key, '/') >= 0;
         # n.b. we may have scripts which don't start with "public-inbox" in
         # the future:
         $key =~ s/\A([-\.])/public-inbox$1/;
         'blib/script/'.$key;
 }
 
-my @io_mode = ([ *STDIN{IO}, '+<&' ], [ *STDOUT{IO}, '+>&' ],
-                [ *STDERR{IO}, '+>&' ]);
+my @io_mode = ([ \*STDIN, '+<&' ], [ \*STDOUT, '+>&' ], [ \*STDERR, '+>&' ]);
 
 sub _prepare_redirects ($) {
         my ($fhref) = @_;