X-Git-Url: http://www.git.stargrave.org/?a=blobdiff_plain;f=t%2Finit.t;h=6211bb58fba8b12a43cc786255e629c28c51d95d;hb=8fa5d57855d38f2e6f7e6d9c2eefcbbf0c4d0ac9;hp=e3e8a2297964be2ef359d252b7047d4ddb341ce7;hpb=5759c29ba5e0c8b2b1135e528e133dc7dde219f8;p=public-inbox.git diff --git a/t/init.t b/t/init.t index e3e8a229..6211bb58 100644 --- 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,9 +134,10 @@ 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"); - system "find $tmpdir/skip4 >&2"; $n = $mm->num_for($mid); is($n, 13, 'V1 NNTP article numbers skipped via --skip-artnum'); }