]> Sergey Matveev's repositories - public-inbox.git/blobdiff - t/psgi_mount.t
testcommon: add require_mods method and use it
[public-inbox.git] / t / psgi_mount.t
index 8da2bc8937bc140a72de2c1e92a97b04f5fb6bc6..751c13b715a0c8616a79e7e5b0ef58eac3da8497 100644 (file)
@@ -4,16 +4,13 @@ use strict;
 use warnings;
 use Test::More;
 use Email::MIME;
-use File::Temp qw/tempdir/;
-my $tmpdir = tempdir('psgi-path-XXXXXX', TMPDIR => 1, CLEANUP => 1);
+use PublicInbox::TestCommon;
+my ($tmpdir, $for_destroy) = tmpdir();
 my $maindir = "$tmpdir/main.git";
 my $addr = 'test-public@example.com';
 my $cfgpfx = "publicinbox.test";
 my @mods = qw(HTTP::Request::Common Plack::Test URI::Escape);
-foreach my $mod (@mods) {
-       eval "require $mod";
-       plan skip_all => "$mod missing for plack.t" if $@;
-}
+require_mods(@mods);
 use_ok $_ foreach @mods;
 use PublicInbox::Import;
 use PublicInbox::Git;
@@ -21,10 +18,10 @@ use PublicInbox::Config;
 use PublicInbox::WWW;
 use Plack::Builder;
 use Plack::App::URLMap;
-my $config = PublicInbox::Config->new({
-       "$cfgpfx.address" => $addr,
-       "$cfgpfx.mainrepo" => $maindir,
-});
+my $config = PublicInbox::Config->new(\<<EOF);
+$cfgpfx.address=$addr
+$cfgpfx.inboxdir=$maindir
+EOF
 is(0, system(qw(git init -q --bare), $maindir), "git init (main)");
 my $git = PublicInbox::Git->new($maindir);
 my $im = PublicInbox::Import->new($git, 'test', $addr);
@@ -88,11 +85,9 @@ test_psgi($app, sub {
 });
 
 SKIP: {
-       my @mods = qw(DBI DBD::SQLite Search::Xapian IO::Uncompress::Gunzip);
-       foreach my $mod (@mods) {
-               eval "require $mod" or skip "$mod not available: $@", 2;
-       }
+       require_mods(qw(DBD::SQLite Search::Xapian IO::Uncompress::Gunzip), 3);
        my $ibx = $config->lookup_name('test');
+       require_ok 'PublicInbox::SearchIdx';
        PublicInbox::SearchIdx->new($ibx, 1)->index_sync;
        test_psgi($app, sub {
                my ($cb) = @_;