freebsd-nq/contrib/one-true-awk/testdir
Warner Losh 23f24377b1 awk: Merge 20210729 from One True Awk upstream (0592de4a)
July 27, 2021:
	As per IEEE Std 1003.1-2008, -F "str" is now consistent with
	-v FS="str" when str is null. Thanks to Warner Losh.

July 24, 2021:
	Fix readrec's definition of a record. This fixes an issue
	with NetBSD's RS regular expression support that can cause
	an infinite read loop. Thanks to Miguel Pineiro Jr.

	Fix regular expression RS ^-anchoring. RS ^-anchoring needs to
	know if it is reading the first record of a file. This change
	restores a missing line that was overlooked when porting NetBSD's
	RS regex functionality. Thanks to Miguel Pineiro Jr.

	Fix size computation in replace_repeat() for special case
	REPEAT_WITH_Q. Thanks to Todd C. Miller.

Also, included the tests from upstream, though they aren't yet connected
to the tree.

Sponsored by:		Netflix
2021-08-01 10:22:39 -06:00
..
arnold-fixes.tar
beebe.tar
bib
bundle.awk
chem.awk
cleanup
Compare.drek
Compare.p
Compare.t
Compare.T1
Compare.tt
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
res.p
sgi.ctimes
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.-f-f
t.a
t.addops
t.aeiou
t.aeiouy
T.argv
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.cum
t.d.x
t.delete0
t.delete1
t.delete2
t.delete3
T.delete
t.do
t.e
t.else
T.errmsg
t.exit
t.exit1
T.expr
T.exprconv
t.f
t.f0
t.f1
t.f2
t.f3
t.f4
t.f.x
T.flags
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.getline1
T.getline
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
t.mod
t.monotone
t.nameval
t.next
T.nextfile
t.NF
t.not
t.null0
t.ofmt
t.ofs
t.ors
T.overflow
t.pat
t.pipe
t.pp
t.pp1
t.pp2
t.printf
t.printf2
t.quote
t.randk
t.re1
t.re1a
t.re2
t.re3
t.re4
t.re5
t.re7
T.re
t.rec
T.recache
t.redir1
T.redir
t.reFS
t.reg
t.roff
t.sep
t.seqno
t.set0
t.set0a
t.set0b
t.set1
t.set2
t.set3
t.split1
t.split2
t.split2a
t.split3
t.split4
t.split8
t.split9
t.split9a
T.split
t.stately
t.strcmp
t.strcmp1
t.strnum
t.sub0
t.sub1
t.sub2
t.sub3
T.sub
t.substr
t.substr1
T.system
t.time
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
tt.16
tt.big
u.main
unbundle.awk
xc
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.