On my fastest system, this brings "make check" time down from
~17s to ~10s. This also improves consistency of our test suite,
adds ENV{TAIL} support to all daemons, and removes the test-time
dependency on the IPC::Run module.
Several cleanups were necessary to limit the scope of some
references and minor bugs were found (and fixed) in preparation
for this. Most of the changes were to explicitly pass global
variables into subs to avoid warnings.
TEST_RUN_MODE=0 can be set in the environment to restore
real-world behavior with (v)fork && execve.
Eric Wong (29):
edit: pass global variables into subs
edit: use OO API of File::Temp to shorten lifetime
admin: get rid of singleton $CFG var
index: pass global variables into subs
init: pass global variables into subs
mda: pass global variables into subs
learn: pass global variables into subs
inboxwritable: add ->cleanup method
import: only pass Inbox object to SearchIdx->new
xapcmd: do not fire END and DESTROY handlers in child
spawn: which: allow embedded slash for relative path
t/common: introduce run_script wrapper for t/cgi.t
t/edit: switch to use run_script
t/init: convert to using run_script
t/purge: convert to run_script
t/v2mirror: get rid of IPC::Run dependency
t/mda: switch to run_script for testing
t/mda_filter_rubylang: drop IPC::Run dependency
doc: remove IPC::Run as a dev and test dependency
t/v2mirror: switch to default run_mode for speedup
t/convert-compact: convert to run_script
t/httpd: use run_script for -init
t/watch_maildir_v2: use run_script for -init
t/nntpd: use run_script for -init
t/watch_filter_rubylang: run_script for -init and -index
t/v2mda: switch to run_script in many places
t/indexlevels-mirror*: switch to run_script
t/xcpdb-reshard: use run_script for -xcpdb
t/common: start_script replaces spawn_listener
INSTALL | 4 -
ci/deps.perl | 1 -
lib/PublicInbox/Admin.pm | 9 +-
lib/PublicInbox/Import.pm | 4 +-
lib/PublicInbox/InboxWritable.pm | 4 +
lib/PublicInbox/Spawn.pm | 2 +-
lib/PublicInbox/Xapcmd.pm | 5 +-
script/public-inbox-edit | 40 ++---
script/public-inbox-index | 3 +-
script/public-inbox-init | 27 +++-
script/public-inbox-learn | 8 +-
script/public-inbox-mda | 12 +-
t/cgi.t | 16 +-
t/common.perl | 248 ++++++++++++++++++++++++++++---
t/convert-compact.t | 18 +--
t/edit.t | 65 ++++----
t/git-http-backend.t | 14 +-
t/httpd-corner.t | 48 +++---
t/httpd-https.t | 28 +---
t/httpd-unix.t | 47 +++---
t/httpd.t | 18 +--
t/indexlevels-mirror.t | 24 +--
t/init.t | 85 +++++------
t/mda.t | 53 ++++---
t/mda_filter_rubylang.t | 17 +--
t/nntpd-tls.t | 29 +---
t/nntpd-validate.t | 27 ++--
t/nntpd.t | 22 ++-
t/perf-nntpd.t | 22 ++-
t/purge.t | 20 +--
t/v2mda.t | 38 ++---
t/v2mirror.t | 55 +++----
t/v2writable.t | 8 +-
t/watch_filter_rubylang.t | 6 +-
t/watch_maildir_v2.t | 4 +-
t/www_listing.t | 8 +-
t/xcpdb-reshard.t | 5 +-
37 files changed, 584 insertions(+), 460 deletions(-)