]> Sergey Matveev's repositories - public-inbox.git/blobdiff - t/solver_git.t
testcommon: spawn-aware system() and qx[] workalikes
[public-inbox.git] / t / solver_git.t
index 2dbb07b0cdef33cbe0c120e7c849dd2596f6cb61..7f79ff4cc8790d65bb9052fe8880a2f44504a215 100644 (file)
@@ -8,8 +8,9 @@ use PublicInbox::TestCommon;
 require_git(2.6);
 use PublicInbox::Spawn qw(popen_rd);
 require_mods(qw(DBD::SQLite Search::Xapian Plack::Util));
-chomp(my $git_dir = `git rev-parse --git-dir 2>/dev/null`);
-plan skip_all => "$0 must be run from a git working tree" if $?;
+my $git_dir = xqx([qw(git rev-parse --git-dir)], undef, {2 => \(my $null)});
+$? == 0 or plan skip_all => "$0 must be run from a git working tree";
+chomp $git_dir;
 
 # needed for alternates, and --absolute-git-dir is only in git 2.13+
 $git_dir = abs_path($git_dir);
@@ -28,8 +29,8 @@ my $im = PublicInbox::V2Writable->new($ibx, 1);
 $im->{parallel} = 0;
 
 my $deliver_patch = sub ($) {
-       open my $fh, '<', $_[0] or die "open: $!";
-       my $mime = PublicInbox::MIME->new(do { local $/; <$fh> });
+       my $mime = PublicInbox::InboxWritable::mime_from_path($_[0]) or
+               die "open $_[0]: $!";
        $im->add($mime);
        $im->done;
 };
@@ -109,7 +110,8 @@ SKIP: {
        require_mods(@psgi, 7 + scalar(@psgi));
        use_ok($_) for @psgi;
        my $binfoo = "$inboxdir/binfoo.git";
-       system(qw(git init --bare -q), $binfoo) == 0 or die "git init: $?";
+       require PublicInbox::Import;
+       PublicInbox::Import::init_bare($binfoo);
        require_ok 'PublicInbox::ViewVCS';
        my $big_size = do {
                no warnings 'once';