diff options
author | Eric Wong <e@80x24.org> | 2021-09-13 20:53:50 +0000 |
---|---|---|
committer | Eric Wong <e@80x24.org> | 2021-09-13 21:11:13 +0000 |
commit | 04657044bb3695d70298624eb25394fb864fb718 (patch) | |
tree | fce610c4e7c2b3a7287d9a3cbde42bfc2ff36bfa /lib/PublicInbox/TestCommon.pm | |
parent | dc489bfd4b4c659b7ebb166ab540b4e767e51aaa (diff) | |
download | public-inbox-04657044bb3695d70298624eb25394fb864fb718.tar.gz |
t/v2mirror.t and t/lei-mirror.t are now skipped when curl is missing (instead of failing in appropriate places). A bunch of which() checks are updated to use require_cmd to avoid explicitly loading Spawn.
Diffstat (limited to 'lib/PublicInbox/TestCommon.pm')
-rw-r--r-- | lib/PublicInbox/TestCommon.pm | 20 |
1 files changed, 13 insertions, 7 deletions
diff --git a/lib/PublicInbox/TestCommon.pm b/lib/PublicInbox/TestCommon.pm index 628beaf1..d8346673 100644 --- a/lib/PublicInbox/TestCommon.pm +++ b/lib/PublicInbox/TestCommon.pm @@ -18,7 +18,7 @@ BEGIN { run_script start_script key2sub xsys xsys_e xqx eml_load tick have_xapian_compact json_utf8 setup_public_inboxes create_inbox tcp_host_port test_lei lei lei_ok $lei_out $lei_err $lei_opt - test_httpd xbail); + test_httpd xbail require_cmd); require Test::More; my @methods = grep(!/\W/, @Test::More::EXPORT); eval(join('', map { "*$_=\\&Test::More::$_;" } @methods)); @@ -87,6 +87,18 @@ sub tcp_connect { $s; } +sub require_cmd ($;$) { + my ($cmd, $maybe) = @_; + require PublicInbox::Spawn; + my $bin = PublicInbox::Spawn::which($cmd); + return $bin if $bin; + $maybe ? 0 : plan(skip_all => "$cmd missing from PATH for $0"); +} + +sub have_xapian_compact () { + require_cmd($ENV{XAPIAN_COMPACT} || 'xapian-compact', 1); +} + sub require_git ($;$) { my ($req, $maybe) = @_; my ($req_maj, $req_min, $req_sub) = split(/\./, $req); @@ -467,12 +479,6 @@ sub start_script { PublicInboxTestProcess->new($pid, $tail_pid); } -sub have_xapian_compact () { - require PublicInbox::Spawn; - # $ENV{XAPIAN_COMPACT} is used by PublicInbox/Xapcmd.pm, too - PublicInbox::Spawn::which($ENV{XAPIAN_COMPACT} || 'xapian-compact'); -} - # favor lei() or lei_ok() over $lei for new code sub lei (@) { my ($cmd, $env, $xopt) = @_; |