]> Sergey Matveev's repositories - public-inbox.git/commitdiff
t/lei-up: improve diagnostics for this test
authorEric Wong <e@80x24.org>
Fri, 30 Sep 2022 09:21:38 +0000 (09:21 +0000)
committerEric Wong <e@80x24.org>
Fri, 30 Sep 2022 16:25:04 +0000 (16:25 +0000)
I'm getting occasional failures for this test on CentOS 7.x (but
not on FreeBSD nor Debian 10/11).  I'm not why, yet, so just
improve diagnostics for now.

t/lei-up.t

index 022ebc0554abf0a51f8223eb60a05a74441149fb..baed65079d823e8193e316806698a3f43beab212 100644 (file)
@@ -5,39 +5,50 @@ use strict; use v5.10.1; use PublicInbox::TestCommon;
 use IO::Uncompress::Gunzip qw(gunzip $GunzipError);
 test_lei(sub {
        my ($ro_home, $cfg_path) = setup_public_inboxes;
-       my $s = eml_load('t/plack-qp.eml')->as_string;
+       my $home = $ENV{HOME};
+       my $qp = eml_load('t/plack-qp.eml');
+       my $s = $qp->as_string;
        lei_ok [qw(import -q -F eml -)], undef, { 0 => \$s, %$lei_opt };
-       lei_ok qw(q z:0.. -f mboxcl2 -o), "$ENV{HOME}/a.mbox.gz";
-       lei_ok qw(q z:0.. -f mboxcl2 -o), "$ENV{HOME}/b.mbox.gz";
-       lei_ok qw(q z:0.. -f mboxcl2 -o), "$ENV{HOME}/a";
-       lei_ok qw(q z:0.. -f mboxcl2 -o), "$ENV{HOME}/b";
+       lei_ok qw(q z:0.. -f mboxcl2 -o), "$home/a.mbox.gz";
+       lei_ok qw(q z:0.. -f mboxcl2 -o), "$home/b.mbox.gz";
+       lei_ok qw(q z:0.. -f mboxcl2 -o), "$home/a";
+       lei_ok qw(q z:0.. -f mboxcl2 -o), "$home/b";
+       my $uc;
+       for my $x (qw(a b)) {
+               gunzip("$home/$x.mbox.gz" => \$uc, MultiStream => 1) or
+                               xbail "gunzip $GunzipError";
+               ok(index($uc, $qp->body_raw) >= 0,
+                       "original mail in $x.mbox.gz");
+               open my $fh, '<', "$home/$x" or xbail $!;
+               $uc = do { local $/; <$fh> } // xbail $!;
+               ok(index($uc, $qp->body_raw) >= 0,
+                       "original mail in uncompressed $x");
+       }
        lei_ok qw(ls-search);
        $s = eml_load('t/utf8.eml')->as_string;
        lei_ok [qw(import -q -F eml -)], undef, { 0 => \$s, %$lei_opt };
        lei_ok qw(up --all=local);
-       open my $fh, '<', "$ENV{HOME}/a.mbox.gz" or xbail "open: $!";
-       my $gz = do { local $/; <$fh> };
-       my $uc;
-       gunzip(\$gz => \$uc, MultiStream => 1) or xbail "gunzip $GunzipError";
-       open $fh, '<', "$ENV{HOME}/a" or xbail "open: $!";
 
+       gunzip("$home/a.mbox.gz" => \$uc, MultiStream => 1) or
+                xbail "gunzip $GunzipError";
+
+       open my $fh, '<', "$home/a" or xbail "open: $!";
        my $exp = do { local $/; <$fh> };
        is($uc, $exp, 'compressed and uncompressed match (a.gz)');
        like($exp, qr/testmessage\@example.com/, '2nd message added');
-       open $fh, '<', "$ENV{HOME}/b.mbox.gz" or xbail "open: $!";
 
-       $gz = do { local $/; <$fh> };
        undef $uc;
-       gunzip(\$gz => \$uc, MultiStream => 1) or xbail "gunzip $GunzipError";
+       gunzip("$home/b.mbox.gz" => \$uc, MultiStream => 1) or
+                xbail "gunzip $GunzipError";
        is($uc, $exp, 'compressed and uncompressed match (b.gz)');
 
-       open $fh, '<', "$ENV{HOME}/b" or xbail "open: $!";
+       open $fh, '<', "$home/b" or xbail "open: $!";
        $uc = do { local $/; <$fh> };
        is($uc, $exp, 'uncompressed both match');
 
-       lei_ok [ qw(up -q), "$ENV{HOME}/b", "--mua=touch $ENV{HOME}/c" ],
+       lei_ok [ qw(up -q), "$home/b", "--mua=touch $home/c" ],
                undef, { run_mode => 0 };
-       ok(-f "$ENV{HOME}/c", '--mua works with single output');
+       ok(-f "$home/c", '--mua works with single output');
 });
 
 done_testing;