user/dev discussion of public-inbox itself
 help / color / Atom feed
From: Eric Wong <>
Cc: Kyle Meyer <>
Subject: [PATCH] doc: HACKING: add a bit about faster testing
Date: Mon, 20 Apr 2020 07:05:30 +0000
Message-ID: <20200420070530.GA14660@dcvr> (raw)
In-Reply-To: <20200420013211.GA30656@dcvr>

Eric Wong <> wrote:
> Kyle Meyer <> wrote:
> > Ah, sorry.  Aside from, er, actually knowing what I'm doing in perl and
> > seeing that obvious mistake, is there a way I could see the warning when
> > I run the tests?  To run only the tests in that file as I was working on
> > it, I started with the command I saw when I called 'make test' and
> > restricted it to just the file, So, with typo included for historical
> > accuracy :), I was running
> Ah, oops.  I normally use `make check' (or `check-run' after
> being primed by `check').  HACKING needs to be patched, and
> maybe a pointer to it in INSTALL.

Subject: [PATCH] doc: HACKING: add a bit about faster testing

`make test' is annoyingly slow, and `make check-run' works
wonders for improving the edit && test cycle.
 Documentation/txt2pre |  5 +++--
 HACKING               | 18 ++++++++++++++++++
 INSTALL               |  2 +-
 3 files changed, 22 insertions(+), 3 deletions(-)

diff --git a/Documentation/txt2pre b/Documentation/txt2pre
index c3a7657e..cf58bad8 100755
--- a/Documentation/txt2pre
+++ b/Documentation/txt2pre
@@ -39,9 +39,9 @@ for (qw[copydatabase(1) xapian-compact(1)]) {
 	$xurls{$_} = ".$n.1.html"
-for (qw[flock(2) setrlimit(2) vfork(2)]) {
+for (qw[make(1) flock(2) setrlimit(2) vfork(2) tmpfs(5)]) {
 	my ($n, $s) = (/([\w\-]+)\((\d)\)/);
-	$xurls{$_} = "$n.$s.html";
+	$xurls{$_} = "$s/$n.$s.html";
 for (qw[git(1)
@@ -82,6 +82,7 @@ $xurls{'git-filter-repo(1)'} = ''.
 $xurls{'ssoma(1)'} = '';
 $xurls{'cgitrc(5)'} = '';
+$xurls{'prove(1)'} = '';
 my $str = do { local $/; <STDIN> };
 my ($title) = ($str =~ /\A([^\n]+)/);
diff --git a/HACKING b/HACKING
index cceb686f..74a3096f 100644
@@ -59,6 +59,24 @@ directory for design decisions made during development.
 See Documentation/technical/ in the source tree for more details
 on specific topics, in particular data_structures.txt
+Faster tests
+The `make test' target provided by MakeMaker does not run in
+parallel.  Our `make check' target supports parallel runs, and
+it also creates a `.prove' file to optimize `make check-run'.
+The prove(1) command (distributed with Perl) may also be used
+for finer-grained testing: prove -bvw t/foo.t
+If using a make(1) (e.g. GNU make) with `include' support, the
+`config.mak' Makefile snippet can be used to set environment
+variables such as PERL_INLINE_DIRECTORY and TMPDIR.
+With PERL_INLINE_DIRECTORY set to enable Inline::C support and
+TMPDIR pointed to a tmpfs(5) mount, `make check-run' takes 6-10s
+(load-dependent) on a busy workstation built in 2010.
 Perl notes
diff --git a/INSTALL b/INSTALL
index 3984df71..2dd7dcff 100644
@@ -191,7 +191,7 @@ install the system (into /usr/local) with:
         perl Makefile.PL
-        make test
+        make test    # see HACKING for faster tests for hackers
         make install # root permissions may be needed
 When installing Search::Xapian, make sure the underlying Xapian

  reply index

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-04-12  4:44 [RFC PATCH] watchmaildir: support multiple watchheader values Kyle Meyer
2020-04-12 21:59 ` Eric Wong
2020-04-20  0:13   ` [PATCH v2] " Kyle Meyer
2020-04-20  0:45     ` Eric Wong
2020-04-20  1:13       ` Kyle Meyer
2020-04-20  1:32         ` Eric Wong
2020-04-20  7:05           ` Eric Wong [this message]
2020-04-20 13:26             ` [PATCH] doc: HACKING: add a bit about faster testing Kyle Meyer

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:

  List information:

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20200420070530.GA14660@dcvr \ \ \ \

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link

user/dev discussion of public-inbox itself

Archives are clonable:
	git clone --mirror
	git clone --mirror http://czquwvybam4bgbro.onion/meta
	git clone --mirror http://hjrcffqmbrq6wope.onion/meta
	git clone --mirror http://ou63pmih66umazou.onion/meta

Example config snippet for mirrors

Newsgroups are available over NNTP:

 note: .onion URLs require Tor:

AGPL code for this site: git clone