diff options
Diffstat (limited to 'lib/PublicInbox/TestCommon.pm')
-rw-r--r-- | lib/PublicInbox/TestCommon.pm | 12 |
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) = @_; |