X-Git-Url: http://www.git.stargrave.org/?a=blobdiff_plain;f=t%2Fimport.t;h=4ba740224aa9f1f4e025ab1f9e8bb7eda3e223ec;hb=65db62eb006fdbe74348f0e8f2ef9b9e938cb90b;hp=440e8994a7b9cba615d5622646efbb95e608e20d;hpb=f5efd110aab302b4eee83bd260dd9edac420539f;p=public-inbox.git
diff --git a/t/import.t b/t/import.t
index 440e8994..4ba74022 100644
--- a/t/import.t
+++ b/t/import.t
@@ -1,4 +1,4 @@
-# Copyright (C) 2016-2020 all contributors
+# Copyright (C) all contributors
# License: AGPL-3.0+
use strict;
use warnings;
@@ -7,9 +7,7 @@ use PublicInbox::Eml;
use PublicInbox::Smsg;
use PublicInbox::Git;
use PublicInbox::Import;
-use PublicInbox::Spawn qw(spawn);
use Fcntl qw(:DEFAULT SEEK_SET);
-use File::Temp qw/tempfile/;
use PublicInbox::TestCommon;
use MIME::Base64 3.05; # Perl 5.10.0 / 5.9.2
my ($dir, $for_destroy) = tmpdir();
@@ -32,21 +30,14 @@ my $smsg = bless {}, 'PublicInbox::Smsg' if $v2;
like($im->add($mime, undef, $smsg), qr/\A:[0-9]+\z/, 'added one message');
if ($v2) {
- like($smsg->{blob}, qr/\A[a-f0-9]{40}\z/, 'got last object_id');
- my $raw_email = $smsg->{-raw_email};
- is($mime->as_string, $$raw_email, 'string matches');
- is($smsg->{raw_bytes}, length($$raw_email), 'length matches');
+ like($smsg->{blob}, qr/\A[a-f0-9]{40,64}\z/, 'got last object_id');
my @cmd = ('git', "--git-dir=$git->{git_dir}", qw(hash-object --stdin));
- my $in = tempfile();
+ open my $in, '+<', undef or BAIL_OUT "open(+<): $!";
print $in $mime->as_string or die "write failed: $!";
$in->flush or die "flush failed: $!";
- seek($in, 0, SEEK_SET);
- my $out = tempfile();
- my $pid = spawn(\@cmd, {}, { 0 => $in, 1 => $out });
- is(waitpid($pid, 0), $pid, 'waitpid succeeds on hash-object');
+ seek($in, 0, SEEK_SET) or die "seek: $!";
+ chomp(my $hashed_obj = xqx(\@cmd, undef, { 0 => $in }));
is($?, 0, 'hash-object');
- seek($out, 0, SEEK_SET);
- chomp(my $hashed_obj = <$out>);
is($hashed_obj, $smsg->{blob}, "blob object_id matches exp");
}