X-Git-Url: http://www.git.stargrave.org/?a=blobdiff_plain;f=t%2Fgit.t;h=0b2089ba701293c5f6e528d66064400a1bbee8b7;hb=eeeae20893a2595631359e719eadac9686572734;hp=0936ac5ea8d1420641afd00c4586cd95ceaddc0a;hpb=d55abcc42bde846d9047491125dd2b32645dafd8;p=public-inbox.git diff --git a/t/git.t b/t/git.t index 0936ac5e..0b2089ba 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'); } @@ -39,7 +40,6 @@ use_ok 'PublicInbox::Git'; my $arg = { 'foo' => 'bar' }; my $res = []; my $missing = []; - $gcf->cat_async_begin; $gcf->cat_async($oid, sub { my ($bref, $oid_hex, $type, $size, $arg) = @_; $res = [ @_ ]; @@ -58,18 +58,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;