about summary refs log tree commit homepage
path: root/t/altid_v2.t
diff options
context:
space:
mode:
authorEric Wong <e@80x24.org>2021-03-15 12:58:25 +0100
committerEric Wong <e@80x24.org>2021-03-15 16:54:30 -0400
commit28840e0ea63f8d649614e196ce286688be431dfb (patch)
tree70dfd5f899ff88074936cf0b1209e00ead4b4bda /t/altid_v2.t
parent22fb64d47e74f2a26ca2dbb3a76f08c9912d5375 (diff)
downloadpublic-inbox-28840e0ea63f8d649614e196ce286688be431dfb.tar.gz
Another 100ms saved
Diffstat (limited to 't/altid_v2.t')
-rw-r--r--t/altid_v2.t48
1 files changed, 17 insertions, 31 deletions
diff --git a/t/altid_v2.t b/t/altid_v2.t
index c6295b2f..493982a1 100644
--- a/t/altid_v2.t
+++ b/t/altid_v2.t
@@ -1,37 +1,23 @@
+#!perl -w
 # Copyright (C) 2016-2021 all contributors <meta@public-inbox.org>
 # License: AGPL-3.0+ <https://www.gnu.org/licenses/agpl-3.0.txt>
 use strict;
-use warnings;
-use Test::More;
-use PublicInbox::Eml;
+use v5.10.1;
 use PublicInbox::TestCommon;
+use PublicInbox::Eml;
+use PublicInbox::Msgmap;
 require_git(2.6);
 require_mods(qw(DBD::SQLite Search::Xapian));
-use_ok 'PublicInbox::V2Writable';
-use_ok 'PublicInbox::Inbox';
-my ($tmpdir, $for_destroy) = tmpdir();
-my $inboxdir = "$tmpdir/inbox";
-my $full = "$tmpdir/inbox/another-nntp.sqlite3";
-my $altid = [ 'serial:gmane:file=another-nntp.sqlite3' ];
-
-{
-        ok(mkdir($inboxdir), 'created repo for msgmap');
-        my $mm = PublicInbox::Msgmap->new_file($full, 1);
-        is($mm->mid_set(1234, 'a@example.com'), 1, 'mid_set once OK');
+my $another = 'another-nntp.sqlite3';
+my $altid = [ "serial:gmane:file=$another" ];
+my $ibx = create_inbox 'v2', version => 2, indexlevel => 'medium',
+                        altid => $altid, sub {
+        my ($im, $ibx) = @_;
+        my $mm = PublicInbox::Msgmap->new_file("$ibx->{inboxdir}/$another", 1);
+        $mm->mid_set(1234, 'a@example.com') == 1 or BAIL_OUT 'mid_set once';
         ok(0 == $mm->mid_set(1234, 'a@example.com'), 'mid_set not idempotent');
         ok(0 == $mm->mid_set(1, 'a@example.com'), 'mid_set fails with dup MID');
-}
-
-my $ibx = {
-        inboxdir => $inboxdir,
-        name => 'test-v2writable',
-        version => 2,
-        -primary_address => 'test@example.com',
-        altid => $altid,
-};
-$ibx = PublicInbox::Inbox->new($ibx);
-my $v2w = PublicInbox::V2Writable->new($ibx, 1);
-$v2w->add(PublicInbox::Eml->new(<<'EOF'));
+        $im->add(PublicInbox::Eml->new(<<'EOF')) or BAIL_OUT;
 From: a@example.com
 To: b@example.com
 Subject: boo!
@@ -39,9 +25,11 @@ Message-ID: <a@example.com>
 
 hello world gmane:666
 EOF
-$v2w->done;
-
-my $mset = $ibx->search->reopen->mset('gmane:1234');
+};
+my $mm = PublicInbox::Msgmap->new_file("$ibx->{inboxdir}/$another", 1);
+ok(0 == $mm->mid_set(1234, 'a@example.com'), 'mid_set not idempotent');
+ok(0 ==  $mm->mid_set(1, 'a@example.com'), 'mid_set fails with dup MID');
+my $mset = $ibx->search->mset('gmane:1234');
 my $msgs = $ibx->search->mset_to_smsg($ibx, $mset);
 $msgs = [ map { $_->{mid} } @$msgs ];
 is_deeply($msgs, ['a@example.com'], 'got one match');
@@ -49,5 +37,3 @@ $mset = $ibx->search->mset('gmane:666');
 is($mset->size, 0, 'body did NOT match');
 
 done_testing();
-
-1;