]> Sergey Matveev's repositories - public-inbox.git/blobdiff - t/init.t
searchidxshard: ensure we set indexlevel on shard[0]
[public-inbox.git] / t / init.t
index f70d1c2036f9d5ab2776764efa04d109d5e588eb..a78c2fc868a13da125cc29f2567559238224a796 100644 (file)
--- a/t/init.t
+++ b/t/init.t
@@ -1,10 +1,11 @@
-# Copyright (C) 2014-2019 all contributors <meta@public-inbox.org>
+# Copyright (C) 2014-2020 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::Config;
 use PublicInbox::TestCommon;
+use PublicInbox::Admin;
 use File::Basename;
 my ($tmpdir, $for_destroy) = tmpdir();
 sub quiet_fail {
@@ -50,10 +51,7 @@ sub quiet_fail {
 }
 
 SKIP: {
-       foreach my $mod (qw(DBD::SQLite Search::Xapian::WritableDatabase)) {
-               eval "require $mod";
-               skip "$mod missing for v2", 2 if $@;
-       }
+       require_mods(qw(DBD::SQLite Search::Xapian::WritableDatabase), 2);
        require_git(2.6, 1) or skip "git 2.6+ required", 2;
        local $ENV{PI_DIR} = "$tmpdir/.public-inbox/";
        my $cfgfile = "$ENV{PI_DIR}/config";
@@ -75,11 +73,15 @@ SKIP: {
        quiet_fail($cmd, 'initializing V2 as V1 fails');
 
        foreach my $lvl (qw(medium basic)) {
+               my $dir = "$tmpdir/v2$lvl";
                $cmd = [ '-init', "v2$lvl", '-V2', '-L', $lvl,
-                       "$tmpdir/v2$lvl", "http://example.com/v2$lvl",
+                       $dir, "http://example.com/v2$lvl",
                        "v2$lvl\@example.com" ];
                ok(run_script($cmd), "-init -L $lvl");
                is(read_indexlevel("v2$lvl"), $lvl, "indexlevel set to '$lvl'");
+               my $ibx = PublicInbox::Inbox->new({ inboxdir => $dir });
+               is(PublicInbox::Admin::detect_indexlevel($ibx), $lvl,
+                       'detected expected level w/o config');
        }
 
        # loop for idempotency