| 1 | This is the perl test library. To run the test suite, just type './TEST' |
| 2 | or 'make test' from the build directory above t/. See also the section |
| 3 | "Special Make Test Targets" in pod/perlhack.pod to learn about other |
| 4 | specific test commands. |
| 5 | |
| 6 | To add new tests, just look at the current tests and do likewise. |
| 7 | The library t/test.pl provides some utility functions that you can use |
| 8 | in most tests, except in the most basic ones. |
| 9 | |
| 10 | If a test fails, run it by itself to see if it prints any informative |
| 11 | diagnostics. If not, modify the test to print informative diagnostics. |
| 12 | If you put out extra lines with a '#' character on the front, you don't |
| 13 | have to worry about removing the extra print statements later since TEST |
| 14 | ignores lines beginning with '#'. |
| 15 | |
| 16 | If you know that Perl is basically working but expect that some tests |
| 17 | will fail, you may want to use Test::Harness thusly: |
| 18 | cd t |
| 19 | ./perl harness |
| 20 | This method pinpoints failed tests automatically. |
| 21 | |
| 22 | If you come up with new tests, please send them to perlbug@perl.org. |
| 23 | |
| 24 | Tests in the t/base/ directory ought to be runnable with plain miniperl. |
| 25 | That is, they should not require Config.pm nor should they require any |
| 26 | extensions to have been built. TEST will abort if any tests in the |
| 27 | t/base/ directory fail. |
| 28 | |
| 29 | Tests in the t/comp/, t/cmd/, t/run/, t/io/, t/op/ and t/uni/ directories |
| 30 | should also be runnable by miniperl and not require Config.pm, but |
| 31 | failures to comply will not cause TEST to abort like for t/base/. |
| 32 | |
| 33 | Tests in t/perf/ are designed to test performance and optimisations, |
| 34 | and also contain additional tools and files designed to run outside |
| 35 | of the test suite |