unofficial mirror of meta@public-inbox.org
 help / color / mirror / Atom feed
From: Eric Wong <e@80x24.org>
To: meta@public-inbox.org
Subject: [PATCH 4/4] treewide: reduce load_xapian* callsites
Date: Thu, 31 Dec 2020 17:47:50 -1200	[thread overview]
Message-ID: <20210101054750.6771-5-e@80x24.org> (raw)
In-Reply-To: <20210101054750.6771-1-e@80x24.org>

Hopefully this will make it easier to spot dependency
bugs in the future.
---
 lib/PublicInbox/LEI.pm      | 1 -
 lib/PublicInbox/LeiStore.pm | 5 +----
 t/indexlevels-mirror.t      | 4 +---
 t/replace.t                 | 3 +--
 4 files changed, 3 insertions(+), 10 deletions(-)

diff --git a/lib/PublicInbox/LEI.pm b/lib/PublicInbox/LEI.pm
index 320a2bfc..2bc4a916 100644
--- a/lib/PublicInbox/LEI.pm
+++ b/lib/PublicInbox/LEI.pm
@@ -453,7 +453,6 @@ sub _lei_store ($;$) {
 	my $cfg = _lei_cfg($self, $creat);
 	$cfg->{-lei_store} //= do {
 		require PublicInbox::LeiStore;
-		PublicInbox::SearchIdx::load_xapian_writable();
 		my $dir = $cfg->{'leistore.dir'};
 		$dir //= _store_path($self->{env}) if $creat;
 		return unless $dir;
diff --git a/lib/PublicInbox/LeiStore.pm b/lib/PublicInbox/LeiStore.pm
index a23efed5..07a3198a 100644
--- a/lib/PublicInbox/LeiStore.pm
+++ b/lib/PublicInbox/LeiStore.pm
@@ -24,10 +24,7 @@ sub new {
 	my (undef, $dir, $opt) = @_;
 	my $eidx = PublicInbox::ExtSearchIdx->new($dir, $opt);
 	my $self = bless { priv_eidx => $eidx }, __PACKAGE__;
-	if ($opt->{creat}) {
-		PublicInbox::SearchIdx::load_xapian_writable();
-		eidx_init($self);
-	}
+	eidx_init($self) if $opt->{creat};
 	$self;
 }
 
diff --git a/t/indexlevels-mirror.t b/t/indexlevels-mirror.t
index a2afbd74..53826aef 100644
--- a/t/indexlevels-mirror.t
+++ b/t/indexlevels-mirror.t
@@ -172,9 +172,7 @@ my $import_index_incremental = sub {
 $import_index_incremental->($PI_TEST_VERSION, 'basic', $mime);
 
 SKIP: {
-	require PublicInbox::Search;
-	PublicInbox::Search::load_xapian() or
-		skip('Xapian perl binding missing', 2);
+	require_mods(qw(Search::Xapian), 2);
 	foreach my $l (qw(medium full)) {
 		$import_index_incremental->($PI_TEST_VERSION, $l, $mime);
 	}
diff --git a/t/replace.t b/t/replace.t
index 7135c863..51bdb964 100644
--- a/t/replace.t
+++ b/t/replace.t
@@ -186,8 +186,7 @@ test_replace(2, 'basic', $opt = { %$opt, post => \&pad_msgs });
 test_replace(2, 'basic', $opt = { %$opt, rotate_bytes => 1 });
 
 SKIP: {
-	require PublicInbox::Search;
-	PublicInbox::Search::load_xapian() or skip 'Search::Xapian missing', 8;
+	require_mods(qw(Search::Xapian), 8);
 	for my $l (qw(medium)) {
 		test_replace(2, $l, {});
 		$opt = { pre => \&pad_msgs };

      parent reply	other threads:[~2021-01-01  5:47 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-01-01  5:47 [PATCH 0/4] TEST_RUN_MODE=0 fixes Eric Wong
2021-01-01  5:47 ` [PATCH 1/4] search: do not use $QP_FLAGS until Xapian is loaded Eric Wong
2021-01-01  5:47 ` [PATCH 2/4] t/lei: fix TEST_RUN_MODE=0, simplify oneshot fallback Eric Wong
2021-01-01  5:47 ` [PATCH 3/4] import: unset GIT_CONFIG with `git config --global' Eric Wong
2021-01-01  5:47 ` Eric Wong [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://public-inbox.org/README

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20210101054750.6771-5-e@80x24.org \
    --to=e@80x24.org \
    --cc=meta@public-inbox.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).