freebsd-src/testdir
Warner Losh 2e406c584f ota: Import One True Awk from 20231102 (254b979f32df)
This is a rollup of a lot of changes. In summary, lots of bug fixes,
Unicode support and CSV support to match the 2nd Edition of the Awk
Book.

In detail, from AWK's FIXES and FIXES.1e:

From FIXES:
Oct 30, 2023:
	multiple fixes and a minor code cleanup.
	disabled utf-8 for non-multibyte locales, such as C or POSIX.
	fixed a bad char * cast that causes incorrect results on big-endian
	systems. also fixed an out-of-bounds read for empty CCL.
	fixed a buffer overflow in substr with utf-8 strings.
	many thanks to Todd C Miller.

Sep 24, 2023:
	fnematch and getrune have been overhauled to solve issues around
	unicode FS and RS. also fixed gsub null match issue with unicode.
	big thanks to Arnold Robbins.

Sep 12, 2023:
	Fixed a length error in u8_byte2char that set RSTART to
	incorrect (cannot happen) value for EOL match(str, /$/).

-----------------------------------------------------------------

[This entry is a summary, not a precise list of changes.]

	Added --csv option to enable processing of comma-separated
	values inputs.  When --csv is enabled, fields are separated
	by commas, fields may be quoted with " double quotes, fields
	may contain embedded newlines.

	If no explicit separator argument is provided, split() uses
	the setting of --csv to determine how fields are split.

	Strings may now contain UTF-8 code points (not necessarily
	characters).  Functions that operate on characters, like
	length, substr, index, match, etc., use UTF-8, so the length
	of a string of 3 emojis is 3, not 12 as it would be if bytes
	were counted.

	Regular expressions are processes as UTF-8.

	Unicode literals can be written as \u followed by one
	to eight hexadecimal digits.  These may appear in strings and
	regular expressions.

From FIXES.1e:

Sep 06, 2023:
	Fix edge case where FS is changed on commandline. Thanks to
	Gordon Shephard and Miguel Pineiro Jr.

	Fix regular expression clobbering in the lexer, where lexer does
	not make a copy of regexp literals. also makedfa memory leaks have
	been plugged. Thanks to Miguel Pineiro Jr.

Dec 15, 2022:
	Force hex escapes in strings to be no more than two characters,
	as they already are in regular expressions. This brings internal
	consistency, as well as consistency with gawk. Thanks to
	Arnold Robbins.

Sep 12, 2022:
	adjbuf minlen error (cannot be 0) in cat, resulting in NULL pbuf.
	discovered by todd miller. also use-after-free issue with
	tempfree in cat, thanks to Miguel Pineiro Jr and valgrind.

Aug 30, 2022:
	Various leaks and use-after-free issues plugged/fixed.
	Thanks to Miguel Pineiro Jr. <mpj@pineiro.cc>.

May 23, 2022:
	Memory leak when assigning a string to some of the built-in
	variables. allocated string erroneously marked DONTFREE.
	Thanks to Miguel Pineiro Jr. <mpj@pineiro.cc>.

Mar 14, 2022:
	Historic bug: command-line "name=value" assignment had been
	truncating its entry in ARGV. (circa 1989) Thanks to
	Miguel Pineiro Jr. <mpj@pineiro.cc>.

Mar 3, 2022:
	Fixed file management memory leak that appears to have been
	there since the files array was first initialized with stdin,
	stdout, and stderr (circa 1992). Thanks to Miguel Pineiro Jr.
	<mpj@pineiro.cc>.

December 8, 2021:
	The error handling in closefile and closeall was mangled. Long
	standing warnings had been made fatal and some fatal errors went
	undetected. Thanks to Miguel Pineiro Jr. <mpj@pineiro.cc>.

Nov 03, 2021:
        getline accesses uninitialized data after getrec()
	returns 0 on EOF and leaves the contents of buf unchanged.
	Thanks to Volodymyr Gubarkov, and Todd C Miller.

Oct 12, 2021:
	The fix for #83 changed the code to insert 2 chars, but the
	call to adjbuf just above it only allows for 1 char. This can
	cause a heap buffer overflow.

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

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.