• Home
  • History
  • Annotate
Name Date Size #Lines LOC

..--

base/07-Feb-2025-1,267896

benchmark/29-Aug-2021-8544

bigmem/07-Feb-2025-582428

cmd/07-Feb-2025-471363

comp/07-Feb-2025-5,0013,708

io/07-Feb-2025-6,7265,033

japh/07-Feb-2025-681507

lib/07-Feb-2025-21,75720,322

mro/29-Aug-2021-7,0425,232

op/07-Feb-2025-70,35954,208

opbasic/07-Feb-2025-1,7561,444

perf/07-Feb-2025-4,1083,331

porting/07-Feb-2025-7,9235,283

re/07-Feb-2025-20,10815,889

run/07-Feb-2025-4,5443,496

test_pl/07-Feb-2025-229161

uni/07-Feb-2025-4,9663,868

win32/07-Feb-2025-1,285939

READMED07-Feb-20252 KiB4535

TESTD07-Feb-202531.2 KiB1,157916

charset_tools.plD01-Mar-20217.6 KiB190128

harnessD07-Feb-202516.7 KiB507310

loc_tools.plD07-Feb-202531.8 KiB901576

perl.suppD29-Sep-2008537 4544

test.plD07-Feb-202561 KiB2,0701,434

thread_it.plD13-Feb-20191.6 KiB4824

README

1This is the perl test library.  To run the test suite, just type './TEST'
2or '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
4specific test commands.
5
6To add new tests, just look at the current tests and do likewise.
7The library t/test.pl provides some utility functions that you can use
8in most tests, except in the most basic ones.
9
10If a test fails, run it by itself to see if it prints any informative
11diagnostics.  If not, modify the test to print informative diagnostics.
12If you put out extra lines with a '#' character on the front, you don't
13have to worry about removing the extra print statements later since TEST
14ignores lines beginning with '#'.
15
16If you know that Perl is basically working but expect that some tests
17will fail, you may want to use Test::Harness thusly:
18        cd t
19        ./perl harness
20This method pinpoints failed tests automatically.
21
22If you come up with new tests, please submit them to
23https://github.com/Perl/perl5/issues.
24
25Tests in the t/base/ directory must be runnable with plain miniperl alone.
26That is, they should not assume that require works, let alone that they can
27require Config.pm, strict or warnings.  This constraint is frustrating, but
28necessary as they exist to sanity test the rest of the test framework.
29TEST will abort if any tests in the t/base/ directory fail.
30
31Tests in the t/comp/, t/cmd/, t/run/, t/io/, t/op/ and t/uni/ directories
32should also be runnable by miniperl and not require Config.pm, but
33failures to comply will not cause TEST to abort like for t/base/.
34
35The comment in TEST explains the test bootstrapping order:
36
37* base first, as TEST bails out if that can't run
38* then comp, to validate that require works
39* then run, to validate that -M works
40* then we know we can -MTestInit for everything else, making life simpler
41
42Tests in t/perf/ are designed to test performance and optimisations,
43and also contain additional tools and files designed to run outside
44of the test suite
45