+ for my $v (1, 2) {
+ my $name = "v$v-skip-docdata";
+ my $dir = "$tmpdir/$name";
+ $cmd = [ '-init', $name, "-V$v", '--skip-docdata',
+ $dir, "http://example.com/$name",
+ "$name\@example.com" ];
+ ok(run_script($cmd), "-init -V$v --skip-docdata");
+ my $ibx = PublicInbox::Inbox->new({ inboxdir => $dir });
+ is(PublicInbox::Admin::detect_indexlevel($ibx), 'full',
+ "detected default indexlevel -V$v");
+ ok($ibx->{-skip_docdata}, "docdata skip set -V$v");
+ ok($ibx->search->has_threadid, 'has_threadid flag set on new inbox');
+ }
+
+ # loop for idempotency
+ for (1..2) {
+ $cmd = [ '-init', '-V2', '-S1', 'skip1', "$tmpdir/skip1",
+ qw(http://example.com/skip1 skip1@example.com) ];
+ ok(run_script($cmd), "--skip-epoch 1");
+ my $gits = [ glob("$tmpdir/skip1/git/*.git") ];
+ is_deeply($gits, ["$tmpdir/skip1/git/1.git"], 'skip OK');
+ }
+
+ $cmd = [ '-init', '-V2', '--skip-epoch=2', 'skip2', "$tmpdir/skip2",
+ qw(http://example.com/skip2 skip2@example.com) ];
+ ok(run_script($cmd), "--skip-epoch 2");
+ my $gits = [ glob("$tmpdir/skip2/git/*.git") ];
+ is_deeply($gits, ["$tmpdir/skip2/git/2.git"], 'skipping 2 works, too');
+
+ xsys(qw(git config), "--file=$ENV{PI_DIR}/config",
+ 'publicinboxmda.spamcheck', 'none') == 0 or
+ BAIL_OUT "git config $?";
+ my $addr = 'skip3@example.com';
+ $cmd = [ qw(-init -V2 -Lbasic --skip-artnum=12 skip3), "$tmpdir/skip3",
+ qw(http://example.com/skip3), $addr ];
+ ok(run_script($cmd), '--skip-artnum -V2');
+ my $env = { ORIGINAL_RECIPIENT => $addr };
+ my $mid = 'skip-artnum@example.com';
+ 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');
+
+ $addr = 'skip4@example.com';
+ $env = { ORIGINAL_RECIPIENT => $addr };
+ $cmd = [ qw(-init -V1 --skip-artnum 12 -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');