diff options
-rw-r--r-- | lib/PublicInbox/XapClient.pm | 4 | ||||
-rw-r--r-- | lib/PublicInbox/XapHelperCxx.pm | 1 | ||||
-rw-r--r-- | t/xap_helper.t | 2 |
3 files changed, 3 insertions, 4 deletions
diff --git a/lib/PublicInbox/XapClient.pm b/lib/PublicInbox/XapClient.pm index 1f9ddccc..4dcbbe5d 100644 --- a/lib/PublicInbox/XapClient.pm +++ b/lib/PublicInbox/XapClient.pm @@ -28,12 +28,10 @@ sub mkreq { sub start_helper { my @argv = @_; socketpair(my $sock, my $in, AF_UNIX, SOCK_SEQPACKET, 0); - require PublicInbox::XapHelperCxx; my $cls = 'PublicInbox::XapHelperCxx'; my $env; - my $cmd = eval { PublicInbox::XapHelperCxx::cmd() }; + my $cmd = eval "require $cls; ${cls}::cmd()"; if ($@) { # fall back to Perl + XS|SWIG - require PublicInbox::XapHelper; $cls = 'PublicInbox::XapHelper'; # ensure the child process has the same @INC we do: $env = { PERL5LIB => join(':', @INC) }; diff --git a/lib/PublicInbox/XapHelperCxx.pm b/lib/PublicInbox/XapHelperCxx.pm index b1deb665..f421c7bc 100644 --- a/lib/PublicInbox/XapHelperCxx.pm +++ b/lib/PublicInbox/XapHelperCxx.pm @@ -110,6 +110,7 @@ sub check_build () { # returns spawn arg sub cmd { + die 'PI_NO_CXX set' if $ENV{PI_NO_CXX}; check_build(); my @cmd; if (my $v = $ENV{VALGRIND}) { diff --git a/t/xap_helper.t b/t/xap_helper.t index 02e5ec7d..e3abeded 100644 --- a/t/xap_helper.t +++ b/t/xap_helper.t @@ -149,7 +149,7 @@ unless ($ENV{TEST_XH_CXX_ONLY}) { SKIP: { require PublicInbox::XapHelperCxx; my $cmd = eval { PublicInbox::XapHelperCxx::cmd() }; - skip "XapHelperCxx build: $@", 1 if $@ || $ENV{PI_NO_CXX}; + skip "XapHelperCxx build: $@", 1 if $@; @NO_CXX = $ENV{TEST_XH_CXX_ONLY} ? (0) : (0, 1); my $ar = $test->(@$cmd, '-j0'); |