X-Git-Url: http://www.git.stargrave.org/?a=blobdiff_plain;f=t%2Fgit.t;fp=t%2Fgit.t;h=b05ac123bec6a342204726b838a235253799cfb1;hb=6e07def560b211d9a1a3221862e72b7aeb4a31b3;hp=0936ac5ea8d1420641afd00c4586cd95ceaddc0a;hpb=47acfe0e9d09e907393465e155e114e8fdc5f5a1;p=public-inbox.git diff --git a/t/git.t b/t/git.t index 0936ac5e..b05ac123 100644 --- a/t/git.t +++ b/t/git.t @@ -13,9 +13,10 @@ use_ok 'PublicInbox::Git'; { PublicInbox::Import::init_bare($dir); my $fi_data = './t/git.fast-import-data'; - ok(-r $fi_data, "fast-import data readable (or run test at top level)"); - local $ENV{GIT_DIR} = $dir; - system("git fast-import --quiet <$fi_data"); + open my $fh, '<', $fi_data or die + "fast-import data readable (or run test at top level: $!"; + my $rdr = { 0 => $fh }; + xsys([qw(git fast-import --quiet)], { GIT_DIR => $dir }, $rdr); is($?, 0, 'fast-import succeeded'); } @@ -58,18 +59,14 @@ use_ok 'PublicInbox::Git'; } if (1) { - my $cmd = [ 'git', "--git-dir=$dir", qw(hash-object -w --stdin) ]; - # need a big file, use the AGPL-3.0 :p my $big_data = './COPYING'; ok(-r $big_data, 'COPYING readable'); my $size = -s $big_data; ok($size > 8192, 'file is big enough'); - - my $buf = do { - local $ENV{GIT_DIR} = $dir; - `git hash-object -w --stdin <$big_data`; - }; + open my $fh, '<', $big_data or die; + my $cmd = [ 'git', "--git-dir=$dir", qw(hash-object -w --stdin) ]; + my $buf = xqx($cmd, { GIT_DIR => $dir }, { 0 => $fh }); is(0, $?, 'hashed object successfully'); chomp $buf;