@syn = grep(!/DSKQXS\.pm/, @syn) if !eval { require IO::KQueue };
@syn = grep(!/Unsubscribe\.pm/, @syn) if !eval { require Crypt::CBC };
@syn = grep(!/SaPlugin/, @syn) if !eval { require Mail::SpamAssasin };
+$v->{syn_files} = \@syn;
$v->{my_syntax} = [map { "$_.syntax" } @syn];
$v->{-m1} = [ map { (split('/'))[-1] } @EXE_FILES ];
$v->{-m5} = [ qw(public-inbox-config public-inbox-v1-format
my $tgt_prereq = $_;
my $cmds = $t->{$_};
"$tgt_prereq\n".join('', map { "\t$_\n" } @$cmds);
-} keys %$t);
+} sort keys %$t);
my $VARS = join("\n", map {;
my $varname = $_;
- join('', map { "$varname += $_\n" } @{$v->{$varname}});
-} grep(!/^-/, keys %$v));
+ join('', map { "$varname += $_\n" } sort @{$v->{$varname}});
+} grep(!/^-/, sort keys %$v));
# Don't waste user's disk space by installing some pods from
# imported code or internal use only
sub MY::postamble {
<<EOF;
+PROVE = prove
# support using eatmydata to speed up tests (apt-get install eatmydata):
# https://www.flamingspork.com/projects/libeatmydata/
EATMYDATA =
check-manifest :: MANIFEST
if git ls-files >\$?.gen 2>&1; then diff -u \$? \$?.gen; fi
-check:: pure_all check-manifest
- \$(EATMYDATA) prove -bvw -j\$(N)
+# the traditional way running per-*.t processes:
+check-each :: pure_all check-manifest
+ \$(EATMYDATA) \$(PROVE) --state=save -bvw -j\$(N)
+
+# lightly-tested way to runn tests, relies "--state=save" in check-each
+# for best performance
+check-run :: pure_all check-manifest
+ \$(EATMYDATA) \$(PROVE) -bvw t/run.perl :: -j\$(N)
+
+check :: check-each
lib/PublicInbox/UserContent.pm :: contrib/css/216dark.css
\$(PERL) -I lib \$@ \$?