xref: /aosp_15_r20/external/one-true-awk/testdir/README.TESTS (revision 9a7741de182b2776d7b30d6355f2585c0780a51b)
1*9a7741deSElliott HughesThe archive of test files contains
2*9a7741deSElliott Hughes
3*9a7741deSElliott Hughes- A shell file called REGRESS that controls the testing process.
4*9a7741deSElliott Hughes
5*9a7741deSElliott Hughes- Several shell files called Compare* that control sub-parts
6*9a7741deSElliott Hughesof the testing.
7*9a7741deSElliott Hughes
8*9a7741deSElliott Hughes- About 160 small tests called t.* that constitute a random
9*9a7741deSElliott Hughessampling of awk constructions collected over the years.
10*9a7741deSElliott HughesNot organized, but they touch almost everything.
11*9a7741deSElliott Hughes
12*9a7741deSElliott Hughes- About 60 small tests called p.* that come from the first
13*9a7741deSElliott Hughestwo chapters of The AWK Programming Language.  This is
14*9a7741deSElliott Hughesbasic stuff -- they have to work.
15*9a7741deSElliott Hughes
16*9a7741deSElliott HughesThese two sets are intended as regression tests, to be sure
17*9a7741deSElliott Hughesthat a new version produces the same results as a previous one.
18*9a7741deSElliott HughesThere are a couple of standard data files used with them,
19*9a7741deSElliott Hughestest.data and test.countries, but others would work too.
20*9a7741deSElliott Hughes
21*9a7741deSElliott Hughes- About 20 files called T.* that are self-contained and
22*9a7741deSElliott Hughesmore systematic tests of specific language features.
23*9a7741deSElliott HughesFor example, T.clv tests command-line variable handling.
24*9a7741deSElliott HughesThese tests are not regressions -- they compute the right
25*9a7741deSElliott Hughesanswer by separate means, then compare the awk output.
26*9a7741deSElliott HughesA specific test for each new bug found shows up in at least
27*9a7741deSElliott Hughesone of these, most often T.misc.  There are about 220 tests
28*9a7741deSElliott Hughestotal in these files.
29*9a7741deSElliott Hughes
30*9a7741deSElliott Hughes- Two of these files, T.re and T.sub, are systematic tests
31*9a7741deSElliott Hughesof the regular expression and substitution code.  They express
32*9a7741deSElliott Hughestests in a small language, then generate awk programs that
33*9a7741deSElliott Hughesverify behavior.
34*9a7741deSElliott Hughes
35*9a7741deSElliott Hughes- About 20 files called tt.* that are used as timing tests;
36*9a7741deSElliott Hughesthey use the most common awk constructions in straightforward
37*9a7741deSElliott Hughesways, against a large input file constructed by Compare.tt.
38*9a7741deSElliott Hughes
39*9a7741deSElliott Hughes
40*9a7741deSElliott HughesThere is undoubtedly more stuff in the archive;  it's been
41*9a7741deSElliott Hughescollecting for years and may need pruning.  Suggestions for
42*9a7741deSElliott Hughesimprovement, additional tests (especially systematic ones),
43*9a7741deSElliott Hughesand the like are all welcome.
44*9a7741deSElliott Hughes
45