opnsense-src/contrib/one-true-awk/testdir
Warner Losh 2a777f2030 ota: Merge One True Awk 20250116 bsd-feature 2dce54b053d4
Jan 14, 2025
	Fix incorrect error line number issues. unput has
	no business managing lineno. Thanks to Ozan Yigit.

Jan 05, 2025
	Fix hex detection in is_valid_number.
	Fix indirect field specification with non-numeric string
	eg. $("foo") in indirect. This is not illegal.
	Thanks to Arnold Robbins.

Jan 01, 2025
	Fixed openfile to not try to read from a directory.
	Thanks to Arnold Robbins.

Sponsored by:		Netflix

(cherry picked from commit dd78d987cb38ef162d40aad86229f1dc19884f78)
2025-02-06 08:10:46 -07: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.-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 ota: Merge 20240623 (bsd-features) from ota 9f971fba471b 2024-12-01 10:33:16 -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 ota: Merge 20240623 (bsd-features) from ota 9f971fba471b 2024-12-01 10:33:16 -07:00
T.csv
t.cum
t.d.x
T.delete
t.delete0
t.delete1
t.delete2
t.delete3
t.do
t.e
t.else
T.errmsg ota: Merge One True Awk 20250116 bsd-feature 2dce54b053d4 2025-02-06 08:10:46 -07:00
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
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 ota: Merge One True Awk 20250116 bsd-feature 2dce54b053d4 2025-02-06 08:10:46 -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
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
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
T.utfre
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.