summaryrefslogtreecommitdiff
path: root/t
diff options
context:
space:
mode:
authorNicholas Clark <nick@ccl4.org>2021-06-28 13:17:04 +0200
committerNicholas Clark <nick@ccl4.org>2021-06-28 13:17:04 +0200
commitfc0b7d587a8d05437521d55af93bf10fbdc32e2b (patch)
tree7fc83f782e25a115b5e031df3dd60498b3ca3937 /t
parentffea7477df4e15160658e87a1a6cf24280f24e29 (diff)
downloadperl-fc0b7d587a8d05437521d55af93bf10fbdc32e2b.tar.gz
Copy the test bootstrapping order from t/TEST to t/README
Clarify what the ordering constraints are and why the need to exist.
Diffstat (limited to 't')
-rw-r--r--t/README16
1 files changed, 12 insertions, 4 deletions
diff --git a/t/README b/t/README
index 23ca7f726a..6d8261fc2a 100644
--- a/t/README
+++ b/t/README
@@ -22,15 +22,23 @@ This method pinpoints failed tests automatically.
If you come up with new tests, please submit them to
https://github.com/Perl/perl5/issues.
-Tests in the t/base/ directory ought to be runnable with plain miniperl.
-That is, they should not require Config.pm nor should they require any
-extensions to have been built. TEST will abort if any tests in the
-t/base/ directory fail.
+Tests in the t/base/ directory must be runnable with plain miniperl alone.
+That is, they should not assume that require works, let alone that they can
+require Config.pm, strict or warnings. This constraint is frustrating, but
+necessary as they exist to sanity test the rest of the test framework.
+TEST will abort if any tests in the t/base/ directory fail.
Tests in the t/comp/, t/cmd/, t/run/, t/io/, t/op/ and t/uni/ directories
should also be runnable by miniperl and not require Config.pm, but
failures to comply will not cause TEST to abort like for t/base/.
+The comment in TEST explains the test bootstrapping order:
+
+* base first, as TEST bails out if that can't run
+* then comp, to validate that require works
+* then run, to validate that -M works
+* then we know we can -MTestInit for everything else, making life simpler
+
Tests in t/perf/ are designed to test performance and optimisations,
and also contain additional tools and files designed to run outside
of the test suite