]> Sergey Matveev's repositories - public-inbox.git/blobdiff - lib/PublicInbox/TestCommon.pm
tests: fix running without SQLite or Xapian
[public-inbox.git] / lib / PublicInbox / TestCommon.pm
index b0b1f4d9e17de11b50837f0d9b8b27d2939195f3..68785969fc8a27c939c9b74e74ee159181bb73ed 100644 (file)
@@ -65,11 +65,15 @@ sub require_mods {
        my @need;
        for my $mod (@mods) {
                if ($mod eq 'Search::Xapian') {
-                       require PublicInbox::Search;
-                       PublicInbox::Search::load_xapian() and next;
+                       if (eval { require PublicInbox::Search } &&
+                               PublicInbox::Search::load_xapian()) {
+                               next;
+                       }
                } elsif ($mod eq 'Search::Xapian::WritableDatabase') {
-                       require PublicInbox::SearchIdx;
-                       PublicInbox::SearchIdx::load_xapian_writable() and next;
+                       if (eval { require PublicInbox::SearchIdx } &&
+                               PublicInbox::SearchIdx::load_xapian_writable()){
+                                       next;
+                       }
                } else {
                        eval "require $mod";
                }
@@ -194,7 +198,7 @@ sub run_script ($;$$) {
                next unless ref($redir);
                open my $fh, '+>', undef or die "open: $!";
                $fhref->[$fd] = $fh;
-               $spawn_opt->{$fd} = fileno($fh);
+               $spawn_opt->{$fd} = $fh;
                next if $fd > 0;
                $fh->autoflush(1);
                print $fh $$redir or die "print: $!";