X-Git-Url: http://www.git.stargrave.org/?a=blobdiff_plain;f=lib%2FPublicInbox%2FTestCommon.pm;h=9e15239465aabe05728603b3db8869f48f128b7c;hb=0c385e6500f26babc47a0768b730ea38e290a5f5;hp=d8346673b34e5c0fe6c155de8ee90df99ef97c7c;hpb=04657044bb3695d70298624eb25394fb864fb718;p=public-inbox.git diff --git a/lib/PublicInbox/TestCommon.pm b/lib/PublicInbox/TestCommon.pm index d8346673..9e152394 100644 --- a/lib/PublicInbox/TestCommon.pm +++ b/lib/PublicInbox/TestCommon.pm @@ -18,7 +18,7 @@ BEGIN { run_script start_script key2sub xsys xsys_e xqx eml_load tick have_xapian_compact json_utf8 setup_public_inboxes create_inbox tcp_host_port test_lei lei lei_ok $lei_out $lei_err $lei_opt - test_httpd xbail require_cmd); + test_httpd xbail require_cmd is_xdeeply); require Test::More; my @methods = grep(!/\W/, @Test::More::EXPORT); eval(join('', map { "*$_=\\&Test::More::$_;" } @methods)); @@ -520,6 +520,13 @@ sub json_utf8 () { state $x = ref(PublicInbox::Config->json)->new->utf8->canonical; } +sub is_xdeeply ($$$) { + my ($x, $y, $desc) = @_; + my $ok = is_deeply($x, $y, $desc); + diag explain([$x, '!=', $y]) if !$ok; + $ok; +} + sub test_lei { SKIP: { my ($cb) = pop @_; @@ -567,7 +574,10 @@ SKIP: { } local $ENV{XDG_RUNTIME_DIR} = $daemon_xrd; $cb->(); - unless ($persist) { + if ($persist) { # remove before ~/.local gets removed + File::Path::rmtree([glob("$home/*")]); + File::Path::rmtree("$home/.config"); + } else { lei_ok(qw(daemon-pid), \"daemon-pid after $t"); chomp($daemon_pid = $lei_out); if (!$daemon_pid) { @@ -587,7 +597,7 @@ SKIP: { my $f = "$daemon_xrd/lei/errors.log"; open my $fh, '<', $f or BAIL_OUT "$f: $!"; my @l = <$fh>; - is_deeply(\@l, [], + is_xdeeply(\@l, [], "$t daemon XDG_RUNTIME_DIR/lei/errors.log empty"); } }; # SKIP if missing git 2.6+ || Xapian || SQLite || json