]> Sergey Matveev's repositories - public-inbox.git/blobdiff - t/search.t
lazy load Xapian and make it optional for v2
[public-inbox.git] / t / search.t
index 35d71473e29a8bf9e71178ed5d774982775dc0ad..a9d0c92030e1a936a5e7d5a77b4b22c65d5645c1 100644 (file)
@@ -3,8 +3,9 @@
 use strict;
 use warnings;
 use Test::More;
-eval { require PublicInbox::SearchIdx; };
-plan skip_all => "Xapian missing for search" if $@;
+eval { require Search::Xapian };
+plan skip_all => "Search::Xapian missing for search" if $@;
+require PublicInbox::SearchIdx;
 use File::Temp qw/tempdir/;
 use Email::MIME;
 my $tmpdir = tempdir('pi-search-XXXXXX', TMPDIR => 1, CLEANUP => 1);
@@ -12,7 +13,7 @@ my $git_dir = "$tmpdir/a.git";
 my ($root_id, $last_id);
 
 is(0, system(qw(git init --shared -q --bare), $git_dir), "git init (main)");
-eval { PublicInbox::Search->new($git_dir) };
+eval { PublicInbox::Search->new($git_dir)->xdb };
 ok($@, "exception raised on non-existent DB");
 
 my $rw = PublicInbox::SearchIdx->new($git_dir, 1);
@@ -223,7 +224,7 @@ $ibx->with_umask(sub {
 
        $rw_commit->();
        $ro->reopen;
-       my $t = $ro->get_thread('root@s');
+       my $t = $ro->{over_ro}->get_thread('root@s');
        is(scalar(@$t), 4, "got all 4 mesages in thread");
        my @exp = sort($long_reply_mid, 'root@s', 'last@s', $long_mid);
        @res = filter_mids($t);
@@ -422,7 +423,7 @@ $ibx->with_umask(sub {
        if (scalar(@$n) >= 1) {
                my $mid = $n->[0]->mid;
                my ($id, $prev);
-               $art = $ro->next_by_mid($mid, \$id, \$prev);
+               $art = $ro->{over_ro}->next_by_mid($mid, \$id, \$prev);
                ok($art, 'article exists in OVER DB');
        }
        $rw->unindex_blob($amsg);