1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58
|
# Copyright (C) all contributors <meta@public-inbox.org>
# License: AGPL-3.0+ <https://www.gnu.org/licenses/agpl-3.0.txt>
use strict; use v5.10.1; use PublicInbox::TestCommon;
require_mods qw(DBD::SQLite);
my $tmp = tmpdir();
my $eml;
my $cb = sub {
my ($im, $ibx) = @_;
$eml //= eml_load 't/utf8.eml';
for my $i (1..3) {
$eml->header_set('Message-ID', "<$i\@example.com>");
my $d = "Thu, 01 Jan 1970 0$i:30:00 +0000";
$eml->header_set('Date', $d);
$im->add($eml);
}
};
my %ibx = map {;
"v$_" => create_inbox("v$_", version => $_,
indexlevel => 'basic', tmpdir => "$tmp/v$_", $cb);
} (1, 2);
my $env = { TZ => 'UTC' };
my ($out, $err);
for my $v (sort keys %ibx) {
my $opt = { -C => $ibx{$v}->{inboxdir}, 1 => \$out, 2 => \$err };
($out, $err) = ('', '');
run_script([ qw(-index -vv) ], $env, $opt);
is($?, 0, 'no error on initial index');
for my $x (qw(until before)) {
($out, $err) = ('', '');
run_script([ qw(-index --reindex -vv),
"--$x=1970-01-01T02:00:00Z" ], $env, $opt);
is($?, 0, "no error with --$x");
like($err, qr! 1/1\b!, "$x only indexed one message");
}
for my $x (qw(after since)) {
($out, $err) = ('', '');
run_script([ qw(-index --reindex -vv),
"--$x=1970-01-01T02:00:00Z" ], $env, $opt);
is($?, 0, "no error with --$x");
like($err, qr! 2/2\b!, "$x only indexed one message");
}
($out, $err) = ('', '');
run_script([ qw(-index --reindex -vv) ], $env, $opt);
is($?, 0, 'no error on initial index');
for my $x (qw(since before after until)) {
($out, $err) = ('', '');
run_script([ qw(-index -v), "--$x=1970-01-01T02:00:00Z" ],
$env, $opt);
isnt($?, 0, "--$x fails on --reindex");
}
}
done_testing;
|