* [PATCH 00/17] test fixes and cleanups
@ 2019-11-24 0:22 6% ` Eric Wong
2019-11-24 0:22 7% ` [PATCH 02/17] tests: use strict everywhere Eric Wong
0 siblings, 1 reply; 2+ results
From: Eric Wong @ 2019-11-24 0:22 UTC (permalink / raw)
To: meta
There's some fixes for race conditions around daemon
startup and shutdown and resurrects start_script for
slightly improved test performance.
And slowly eliminating all END{} block usages
Eric Wong (17):
tests: disable daemon workers in a few more places
tests: use strict everywhere
t/v1-add-remove-add: quiet down "git init"
t/xcpdb-reshard: test xcpdb --compact
t/httpd-corner: wait for worker process death
t/nntpd-tls: sometimes SSL_connect succeeds quickly
.gitignore: ignore local prove(1) files
daemon: use sigprocmask to block signals at startup
daemon: use sigprocmask when respawning workers
daemon: avoid race when quitting workers
t/common: start_script replaces spawn_listener
t/nntpd-validate: get rid of threads dependency
xapcmd: replace Xtmpdirs with File::Temp->newdir
tests: use File::Temp->newdir instead of tempdir()
tests: quiet down commit graph
t/perf-*.t: use $ENV{GIANT_INBOX_DIR} consistently
tests: move giant inbox/git dependent tests to xt/
.gitignore | 2 +
MANIFEST | 11 ++-
lib/PublicInbox/Daemon.pm | 35 +++++--
lib/PublicInbox/Xapcmd.pm | 73 +++++---------
t/.gitconfig | 4 +
t/admin.t | 4 +-
t/altid.t | 4 +-
t/altid_v2.t | 3 +-
t/cgi.t | 3 +-
t/common.perl | 184 ++++++++++++++++++++++++++---------
t/config.t | 4 +-
t/convert-compact.t | 3 +-
t/edit.t | 3 +-
t/emergency.t | 4 +-
t/feed.t | 3 +-
t/filter_rubylang.t | 5 +-
t/git.t | 6 +-
t/html_index.t | 4 +-
t/httpd-corner.psgi | 2 +-
t/httpd-corner.t | 70 +++++++------
t/httpd-https.t | 31 ++----
t/httpd-unix.t | 51 +++++-----
t/httpd.t | 16 ++-
t/import.t | 4 +-
t/indexlevels-mirror.t | 3 +-
t/init.t | 3 +-
t/mda.t | 3 +-
t/mda_filter_rubylang.t | 3 +-
t/mid.t | 1 +
t/msgmap.t | 4 +-
t/nntpd-tls.t | 42 +++-----
t/nntpd.t | 19 ++--
t/nulsubject.t | 4 +-
t/over.t | 4 +-
t/plack.t | 4 +-
t/psgi_attach.t | 4 +-
t/psgi_bad_mids.t | 4 +-
t/psgi_mount.t | 4 +-
t/psgi_multipart_not.t | 4 +-
t/psgi_scan_all.t | 4 +-
t/psgi_search.t | 4 +-
t/psgi_text.t | 4 +-
t/psgi_v2.t | 3 +-
t/purge.t | 4 +-
t/qspawn.t | 1 +
t/replace.t | 6 +-
t/search-thr-index.t | 4 +-
t/search.t | 4 +-
t/solver_git.t | 3 +-
t/spamcheck_spamc.t | 4 +-
t/v1-add-remove-add.t | 6 +-
t/v1reindex.t | 3 +-
t/v2-add-remove-add.t | 3 +-
t/v2mda.t | 3 +-
t/v2mirror.t | 26 ++---
t/v2reindex.t | 3 +-
t/v2writable.t | 13 ++-
t/watch_filter_rubylang.t | 3 +-
t/watch_maildir.t | 5 +-
t/watch_maildir_v2.t | 10 +-
t/www_listing.t | 11 +--
t/xcpdb-reshard.t | 7 +-
{t => xt}/git-http-backend.t | 19 ++--
{t => xt}/nntpd-validate.t | 57 +++++------
{t => xt}/perf-msgview.t | 6 +-
{t => xt}/perf-nntpd.t | 34 +++----
{t => xt}/perf-threading.t | 8 +-
67 files changed, 462 insertions(+), 431 deletions(-)
create mode 100644 t/.gitconfig
rename {t => xt}/git-http-backend.t (87%)
rename {t => xt}/nntpd-validate.t (85%)
rename {t => xt}/perf-msgview.t (85%)
rename {t => xt}/perf-nntpd.t (79%)
rename {t => xt}/perf-threading.t (72%)
^ permalink raw reply [relevance 6%]
* [PATCH 02/17] tests: use strict everywhere
2019-11-24 0:22 6% ` [PATCH 00/17] test fixes and cleanups Eric Wong
@ 2019-11-24 0:22 7% ` Eric Wong
0 siblings, 0 replies; 2+ results
From: Eric Wong @ 2019-11-24 0:22 UTC (permalink / raw)
To: meta
The "strict" pragma makes code easier to debug, and we had
undeclared variables as a result in t/watch_maildir_v2.t.
So use it everywhere to be consistent with the rest of our
code.
---
t/mid.t | 1 +
t/qspawn.t | 1 +
t/watch_maildir.t | 1 +
t/watch_maildir_v2.t | 7 ++++---
4 files changed, 7 insertions(+), 3 deletions(-)
diff --git a/t/mid.t b/t/mid.t
index 98b0c200..ecac04de 100644
--- a/t/mid.t
+++ b/t/mid.t
@@ -1,5 +1,6 @@
# Copyright (C) 2016-2019 all contributors <meta@public-inbox.org>
# License: AGPL-3.0+ <https://www.gnu.org/licenses/agpl-3.0.txt>
+use strict;
use Test::More;
use PublicInbox::MID qw(mid_escape mids references mids_for_index);
diff --git a/t/qspawn.t b/t/qspawn.t
index 58c6febb..fc288a2d 100644
--- a/t/qspawn.t
+++ b/t/qspawn.t
@@ -1,5 +1,6 @@
# Copyright (C) 2016-2019 all contributors <meta@public-inbox.org>
# License: AGPL-3.0+ <https://www.gnu.org/licenses/agpl-3.0.txt>
+use strict;
use Test::More;
use_ok 'PublicInbox::Qspawn';
diff --git a/t/watch_maildir.t b/t/watch_maildir.t
index e6cd599c..41d50329 100644
--- a/t/watch_maildir.t
+++ b/t/watch_maildir.t
@@ -1,5 +1,6 @@
# Copyright (C) 2016-2019 all contributors <meta@public-inbox.org>
# License: AGPL-3.0+ <https://www.gnu.org/licenses/agpl-3.0.txt>
+use strict;
use Test::More;
use File::Temp qw/tempdir/;
use Email::MIME;
diff --git a/t/watch_maildir_v2.t b/t/watch_maildir_v2.t
index 7fe23521..e0e8a13f 100644
--- a/t/watch_maildir_v2.t
+++ b/t/watch_maildir_v2.t
@@ -1,5 +1,6 @@
# Copyright (C) 2018-2019 all contributors <meta@public-inbox.org>
# License: AGPL-3.0+ <https://www.gnu.org/licenses/agpl-3.0.txt>
+use strict;
use Test::More;
use File::Temp qw/tempdir/;
use PublicInbox::MIME;
@@ -106,7 +107,7 @@ More majordomo info at http://vger.kernel.org/majordomo-info.html\n);
local $SIG{__WARN__} = sub {}; # quiet spam check warning
PublicInbox::WatchMaildir->new($config)->scan('full');
}
- ($nr, $msgs) = $srch->reopen->query('');
+ my ($nr, $msgs) = $srch->reopen->query('');
is($nr, 0, 'inbox is still empty');
is(unlink(glob("$maildir/new/*")), 1);
}
@@ -119,7 +120,7 @@ More majordomo info at http://vger.kernel.org/majordomo-info.html\n);
PublicInbox::Emergency->new($maildir)->prepare(\$msg);
$config->{'publicinboxwatch.spamcheck'} = 'spamc';
PublicInbox::WatchMaildir->new($config)->scan('full');
- ($nr, $msgs) = $srch->reopen->query('');
+ my ($nr, $msgs) = $srch->reopen->query('');
is($nr, 1, 'inbox has one mail after spamc OK-ed a message');
my $mref = $ibx->msg_by_smsg($msgs->[0]);
like($$mref, qr/something\n\z/s, 'message scrubbed on import');
@@ -132,7 +133,7 @@ More majordomo info at http://vger.kernel.org/majordomo-info.html\n);
$msg = eval { local $/; <$fh> };
PublicInbox::Emergency->new($maildir)->prepare(\$msg);
PublicInbox::WatchMaildir->new($config)->scan('full');
- ($nr, $msgs) = $srch->reopen->query('dfpost:6e006fd7');
+ my ($nr, $msgs) = $srch->reopen->query('dfpost:6e006fd7');
is($nr, 1, 'diff postimage found');
my $post = $msgs->[0];
($nr, $msgs) = $srch->query('dfpre:090d998b6c2c');
^ permalink raw reply related [relevance 7%]
Results 1-2 of 2 | reverse | options above
-- pct% links below jump to the message on this page, permalinks otherwise --
2019-11-16 11:43 [PATCH 29/29] t/common: start_script replaces spawn_listener Eric Wong
2019-11-24 0:22 6% ` [PATCH 00/17] test fixes and cleanups Eric Wong
2019-11-24 0:22 7% ` [PATCH 02/17] tests: use strict everywhere Eric Wong
Code repositories for project(s) associated with this public inbox
https://80x24.org/public-inbox.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).