freebsd-src/contrib/one-true-awk/testdir
Warner Losh f32a6403d3 Merge one true awk from 2024-01-22 for the Awk Second Edition support
This brings in Unicode support, CSV support and a number of bug fixes.
They are described in _The AWK Programming Language_, Second Edition, by
Al Aho, Brian Kernighan, and Peter Weinberger (Addison-Wesley, 2024,
ISBN-13 978-0138269722, ISBN-10 0138269726).

Sponsored by:		Netflix
2024-02-29 10:42:06 -07:00
..
arnold-fixes.tar
beebe.tar
bib
bundle.awk
chem.awk
cleanup
Compare.drek
Compare.p
Compare.t
Compare.T1
Compare.tt Merge one true awk from 2024-01-22 for the Awk Second Edition support 2024-02-29 10:42:06 -07:00
countries
ctimes
echo.c
funstack.awk
funstack.in
funstack.ok
ind
latin1
lilly.ifile
lilly.out
lilly.progs
lsd1.p
NOTES
p.1
p.2
p.3
p.4
p.5
p.5a
p.6
p.7
p.8
p.9
p.10
p.11
p.12
p.13
p.14
p.15
p.16
p.17
p.18
p.19
p.20
p.21
p.21a
p.22
p.23
p.24
p.25
p.26
p.26a
p.27
p.28
p.29
p.30
p.31
p.32
p.33
p.34
p.35
p.36
p.37
p.38
p.39
p.40
p.41
p.42
p.43
p.44
p.45
p.46
p.47
p.48
p.48a
p.48b
p.49
p.50
p.51
p.52
p.table
penicil.p
README.TESTS
REGRESS Merge one true awk from 2024-01-22 for the Awk Second Edition support 2024-02-29 10:42:06 -07:00
res.p
sgi.ctimes
T.-f-f
t.0
t.0a
t.1
t.1.x
t.2
t.2.x
t.3
t.3.x
t.4
t.4.x
t.5.x
t.6
t.6.x
t.6a
t.6b
t.8.x
t.8.y
t.a
t.addops
t.aeiou
t.aeiouy
T.argv Merge one true awk from 2024-01-22 for the Awk Second Edition support 2024-02-29 10:42:06 -07:00
t.arith
T.arnold
t.array
t.array1
t.array2
t.assert
t.avg
t.b.x
t.be
T.beebe
t.beginexit
t.beginnext
t.break
t.break1
t.break2
t.break3
t.bug1
T.builtin
t.builtins
t.cat
t.cat1
t.cat2
T.chem
T.close
T.clv
t.cmp
t.coerce
t.coerce2
t.comment
t.comment1
t.concat
t.cond
t.contin
t.count
t.crlf
T.csconcat
T.csv Merge one true awk from 2024-01-22 for the Awk Second Edition support 2024-02-29 10:42:06 -07:00
t.cum
t.d.x
T.delete
t.delete0
t.delete1
t.delete2
t.delete3
t.do
t.e
t.else
T.errmsg
t.exit
t.exit1
T.expr
T.exprconv
t.f
t.f.x
t.f0
t.f1
t.f2
t.f3
t.f4
T.flags Merge one true awk from 2024-01-22 for the Awk Second Edition support 2024-02-29 10:42:06 -07:00
t.for
t.for1
t.for2
t.for3
t.format4
t.fun
t.fun0
t.fun1
t.fun2
t.fun3
t.fun4
t.fun5
T.func
T.gawk
T.getline
t.getline1
t.getval
t.gsub
t.gsub1
t.gsub3
t.gsub4
t.i.x
t.if
t.in
t.in1
t.in2
t.in3
t.incr
t.incr2
t.incr3
t.index
T.int-expr
t.intest
t.intest2
t.j.x
T.latin1
T.lilly
t.longstr
T.main
t.makef
t.match
t.match1
t.max
T.misc Merge one true awk from 2024-01-22 for the Awk Second Edition support 2024-02-29 10:42:06 -07:00
t.mod
t.monotone
t.nameval
t.next
T.nextfile
t.NF
t.not
t.null0
t.ofmt
t.ofs
t.ors
T.overflow Merge one true awk from 2024-01-22 for the Awk Second Edition support 2024-02-29 10:42:06 -07:00
t.pat
t.pipe
t.pp
t.pp1
t.pp2
t.printf
t.printf2
t.quote
t.randk
T.re
t.re1
t.re1a
t.re2
t.re3
t.re4
t.re5
t.re7
t.rec
T.recache
T.redir
t.redir1
t.reFS
t.reg
t.roff
t.sep
t.seqno
t.set0
t.set0a
t.set0b
t.set1
t.set2
t.set3
T.split Merge one true awk from 2024-01-22 for the Awk Second Edition support 2024-02-29 10:42:06 -07:00
t.split1
t.split2
t.split2a
t.split3
t.split4
t.split8
t.split9
t.split9a
t.stately
t.strcmp
t.strcmp1
t.strnum
T.sub
t.sub0
t.sub1
t.sub2
t.sub3
t.substr
t.substr1
T.system
t.time
T.utf Merge one true awk from 2024-01-22 for the Awk Second Edition support 2024-02-29 10:42:06 -07:00
T.utfre Merge one true awk from 2024-01-22 for the Awk Second Edition support 2024-02-29 10:42:06 -07:00
t.vf
t.vf1
t.vf2
t.vf3
t.x
td.1
test.countries
test.data
time.c
try
tt.01
tt.02
tt.02a
tt.03
tt.03a
tt.04
tt.05
tt.06
tt.07
tt.08
tt.09
tt.10
tt.10a
tt.11
tt.12
tt.13
tt.13a
tt.14
tt.15 Merge one true awk from 2024-01-22 for the Awk Second Edition support 2024-02-29 10:42:06 -07:00
tt.16
tt.big
u.main
unbundle.awk
xc Revert "awk: Merge upstream 2nd Edition Awk Book" 2023-11-15 15:28:05 -07:00
yc

The archive of test files contains 

- A shell file called REGRESS that controls the testing process.

- Several shell files called Compare* that control sub-parts
of the testing.

- About 160 small tests called t.* that constitute a random
sampling of awk constructions collected over the years.
Not organized, but they touch almost everything.

- About 60 small tests called p.* that come from the first
two chapters of The AWK Programming Language.  This is
basic stuff -- they have to work.

These two sets are intended as regression tests, to be sure
that a new version produces the same results as a previous one.
There are a couple of standard data files used with them,
test.data and test.countries, but others would work too.

- About 20 files called T.* that are self-contained and
more systematic tests of specific language features.
For example, T.clv tests command-line variable handling.
These tests are not regressions -- they compute the right
answer by separate means, then compare the awk output.
A specific test for each new bug found shows up in at least
one of these, most often T.misc.  There are about 220 tests
total in these files.

- Two of these files, T.re and T.sub, are systematic tests
of the regular expression and substitution code.  They express
tests in a small language, then generate awk programs that
verify behavior.

- About 20 files called tt.* that are used as timing tests;
they use the most common awk constructions in straightforward
ways, against a large input file constructed by Compare.tt.


There is undoubtedly more stuff in the archive;  it's been
collecting for years and may need pruning.  Suggestions for
improvement, additional tests (especially systematic ones),
and the like are all welcome.