]> Sergey Matveev's repositories - public-inbox.git/blobdiff - t/init.t
t/init: fix test when ~/.public-inbox/ does not exist
[public-inbox.git] / t / init.t
index f4ebc2f67e6b5b97dfebb6f240d19e073e03940e..6211bb58fba8b12a43cc786255e629c28c51d95d 100644 (file)
--- a/t/init.t
+++ b/t/init.t
@@ -49,11 +49,24 @@ sub quiet_fail {
        ok(unlink("$cfgfile.lock"),
                '-init did not unlink lock on failure');
 }
+{
+       my $env = { PI_DIR => "$tmpdir/.public-inbox/" };
+       my $rdr = { 2 => \(my $err = '') };
+       my $cmd = [ '-init', 'alist', "$tmpdir/a\nlist",
+                  qw(http://example.com/alist alist@example.com) ];
+       ok(!run_script($cmd, $env, $rdr),
+               'public-inbox-init rejects LF in inboxdir');
+       like($err, qr/`\\n' not allowed in `/s, 'reported \\n');
+       is_deeply([glob("$tmpdir/.public-inbox/pi-init-*")], [],
+               'no junk files left behind');
+}
 
 SKIP: {
        require_mods(qw(DBD::SQLite Search::Xapian::WritableDatabase), 2);
        require_git(2.6, 1) or skip "git 2.6+ required", 2;
+       use_ok 'PublicInbox::Msgmap';
        local $ENV{PI_DIR} = "$tmpdir/.public-inbox/";
+       local $ENV{PI_EMERGENCY} = "$tmpdir/.public-inbox/emergency";
        my $cfgfile = "$ENV{PI_DIR}/config";
        my $cmd = [ '-init', '-V2', 'v2list', "$tmpdir/v2list",
                   qw(http://example.com/v2list v2list@example.com) ];
@@ -111,6 +124,7 @@ SKIP: {
        my $msg = "Message-ID: <$mid>\n\n";
        my $rdr = { 0 => \$msg, 2 => \(my $err = '')  };
        ok(run_script([qw(-mda --no-precheck)], $env, $rdr), 'deliver V1');
+       diag "err=$err" if $err;
        my $mm = PublicInbox::Msgmap->new_file("$tmpdir/skip3/msgmap.sqlite3");
        my $n = $mm->num_for($mid);
        is($n, 13, 'V2 NNTP article numbers skipped via --skip-artnum');
@@ -120,7 +134,9 @@ SKIP: {
        $cmd = [ qw(-init -V1 -N12 -Lmedium skip4), "$tmpdir/skip4",
                   qw(http://example.com/skip4), $addr ];
        ok(run_script($cmd), '--skip-artnum -V1');
+       $err = '';
        ok(run_script([qw(-mda --no-precheck)], $env, $rdr), 'deliver V1');
+       diag "err=$err" if $err;
        $mm = PublicInbox::Msgmap->new("$tmpdir/skip4");
        $n = $mm->num_for($mid);
        is($n, 13, 'V1 NNTP article numbers skipped via --skip-artnum');