diff options
author | Nicholas Clark <nick@ccl4.org> | 2021-06-28 13:17:04 +0200 |
---|---|---|
committer | Nicholas Clark <nick@ccl4.org> | 2021-06-28 13:17:04 +0200 |
commit | fc0b7d587a8d05437521d55af93bf10fbdc32e2b (patch) | |
tree | 7fc83f782e25a115b5e031df3dd60498b3ca3937 /t | |
parent | ffea7477df4e15160658e87a1a6cf24280f24e29 (diff) | |
download | perl-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/README | 16 |
1 files changed, 12 insertions, 4 deletions
@@ -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 |