awk/testdir
zoulasc ffee7780fe
3 more fixes (#75)
* LC_NUMERIC radix issue.

According to https://pubs.opengroup.org/onlinepubs/7990989775/xcu/awk.html
The period character is the character recognized in processing awk
programs.  Make it so that during output we also print the period
character, since this is what other awk implementations do, and it
makes sense from an interoperability point of view.

* print "T.builtin" in the error message

* Fix backslash continuation line handling.

* Keep track of RS processing so we apply the regex properly only once
per record.
2020-02-28 13:23:54 +02:00
..
2019-06-23 03:13:57 -06:00
2019-06-23 03:13:57 -06:00
bib
2019-06-23 03:13:57 -06:00
2019-06-23 03:13:57 -06:00
2019-06-23 03:13:57 -06:00
2019-06-23 03:13:57 -06:00
2019-06-23 03:13:57 -06:00
2019-06-23 03:13:57 -06:00
2019-06-23 03:13:57 -06:00
2019-06-23 03:13:57 -06:00
2019-06-23 03:13:57 -06:00
2019-06-23 03:13:57 -06:00
2019-06-23 03:13:57 -06:00
2019-06-23 03:13:57 -06:00
2019-06-23 03:13:57 -06:00
2019-06-23 03:13:57 -06:00
2019-06-23 03:13:57 -06:00
ind
2019-06-23 03:13:57 -06:00
2019-06-23 03:13:57 -06:00
2019-06-23 03:13:57 -06:00
2019-06-23 03:13:57 -06:00
2019-06-23 03:13:57 -06:00
2019-06-23 03:13:57 -06:00
2019-06-23 03:13:57 -06:00
p.1
2019-06-23 03:13:57 -06:00
p.2
2019-06-23 03:13:57 -06:00
p.3
2019-06-23 03:13:57 -06:00
p.4
2019-06-23 03:13:57 -06:00
p.5
2019-06-23 03:13:57 -06:00
2019-06-23 03:13:57 -06:00
p.6
2019-06-23 03:13:57 -06:00
p.7
2019-06-23 03:13:57 -06:00
p.8
2019-06-23 03:13:57 -06:00
p.9
2019-06-23 03:13:57 -06:00
2019-06-23 03:13:57 -06:00
2019-06-23 03:13:57 -06:00
2019-06-23 03:13:57 -06:00
2019-06-23 03:13:57 -06:00
2019-06-23 03:13:57 -06:00
2019-06-23 03:13:57 -06:00
2019-06-23 03:13:57 -06:00
2019-06-23 03:13:57 -06:00
2019-06-23 03:13:57 -06:00
2019-06-23 03:13:57 -06:00
2019-06-23 03:13:57 -06:00
2019-06-23 03:13:57 -06:00
2019-06-23 03:13:57 -06:00
2019-06-23 03:13:57 -06:00
2019-06-23 03:13:57 -06:00
2019-06-23 03:13:57 -06:00
2019-06-23 03:13:57 -06:00
2019-06-23 03:13:57 -06:00
2019-06-23 03:13:57 -06:00
2019-06-23 03:13:57 -06:00
2019-06-23 03:13:57 -06:00
2019-06-23 03:13:57 -06:00
2019-06-23 03:13:57 -06:00
2019-06-23 03:13:57 -06:00
2019-06-23 03:13:57 -06:00
2019-06-23 03:13:57 -06:00
2019-06-23 03:13:57 -06:00
2019-06-23 03:13:57 -06:00
2019-06-23 03:13:57 -06:00
2019-06-23 03:13:57 -06:00
2019-06-23 03:13:57 -06:00
2019-06-23 03:13:57 -06:00
2019-06-23 03:13:57 -06:00
2019-06-23 03:13:57 -06:00
2019-06-23 03:13:57 -06:00
2019-06-23 03:13:57 -06:00
2019-06-23 03:13:57 -06:00
2019-06-23 03:13:57 -06:00
2019-06-23 03:13:57 -06:00
2019-06-23 03:13:57 -06:00
2019-06-23 03:13:57 -06:00
2019-06-23 03:13:57 -06:00
2019-06-23 03:13:57 -06:00
2019-06-23 03:13:57 -06:00
2019-06-23 03:13:57 -06:00
2019-06-23 03:13:57 -06:00
2019-06-23 03:13:57 -06:00
2019-06-23 03:13:57 -06:00
2019-06-23 03:13:57 -06:00
2019-06-23 03:13:57 -06:00
2019-06-23 03:13:57 -06:00
2019-06-23 03:13:57 -06:00
2019-06-23 03:13:57 -06:00
t.0
2019-06-23 03:13:57 -06:00
2019-06-23 03:13:57 -06:00
t.1
2019-06-23 03:13:57 -06:00
2019-06-23 03:13:57 -06:00
t.2
2019-06-23 03:13:57 -06:00
2019-06-23 03:13:57 -06:00
t.3
2019-06-23 03:13:57 -06:00
2019-06-23 03:13:57 -06:00
t.4
2019-06-23 03:13:57 -06:00
2019-06-23 03:13:57 -06:00
2019-06-23 03:13:57 -06:00
t.6
2019-06-23 03:13:57 -06:00
2019-06-23 03:13:57 -06:00
2019-06-23 03:13:57 -06:00
2019-06-23 03:13:57 -06:00
2019-06-23 03:13:57 -06:00
2019-06-23 03:13:57 -06:00
2019-06-23 03:13:57 -06:00
t.a
2019-06-23 03:13:57 -06:00
2019-06-23 03:13:57 -06:00
2019-06-23 03:13:57 -06:00
2019-06-23 03:13:57 -06:00
2019-06-23 03:13:57 -06:00
2019-06-23 03:13:57 -06:00
2019-06-23 03:13:57 -06:00
2019-06-23 03:13:57 -06:00
2019-06-23 03:13:57 -06:00
2019-06-23 03:13:57 -06:00
2019-06-23 03:13:57 -06:00
2019-06-23 03:13:57 -06:00
2019-06-23 03:13:57 -06:00
2019-06-23 03:13:57 -06:00
2019-06-23 03:13:57 -06:00
2019-06-23 03:13:57 -06:00
2019-06-23 03:13:57 -06:00
2019-06-23 03:13:57 -06:00
2019-06-23 03:13:57 -06:00
2019-06-23 03:13:57 -06:00
2019-06-23 03:13:57 -06:00
2019-06-23 03:13:57 -06:00
2020-02-28 13:23:54 +02:00
2019-06-23 03:13:57 -06:00
2019-06-23 03:13:57 -06:00
2019-06-23 03:13:57 -06:00
2019-06-23 03:13:57 -06:00
2019-11-08 14:36:37 +02:00
2019-06-23 03:13:57 -06:00
2019-06-23 03:13:57 -06:00
2019-06-23 03:13:57 -06:00
2019-06-23 03:13:57 -06:00
2019-06-23 03:13:57 -06:00
2019-06-23 03:13:57 -06:00
2019-06-23 03:13:57 -06:00
2019-06-23 03:13:57 -06:00
2019-06-23 03:13:57 -06:00
2019-06-23 03:13:57 -06:00
2019-06-23 03:13:57 -06:00
2019-06-23 03:13:57 -06:00
2019-06-23 03:13:57 -06:00
2019-06-23 03:13:57 -06:00
2019-06-23 03:13:57 -06:00
2019-06-23 03:13:57 -06:00
2019-06-23 03:13:57 -06:00
2019-06-23 03:13:57 -06:00
2019-06-23 03:13:57 -06:00
2019-06-23 03:13:57 -06:00
t.e
2019-06-23 03:13:57 -06:00
2019-06-23 03:13:57 -06:00
2019-06-23 03:13:57 -06:00
2019-06-23 03:13:57 -06:00
2019-06-23 03:13:57 -06:00
2019-12-11 09:17:34 +02:00
2019-06-23 03:13:57 -06:00
t.f
2019-06-23 03:13:57 -06:00
2019-06-23 03:13:57 -06:00
2019-06-23 03:13:57 -06:00
2019-06-23 03:13:57 -06:00
2019-06-23 03:13:57 -06:00
2019-06-23 03:13:57 -06:00
2019-06-23 03:13:57 -06:00
2019-06-23 03:13:57 -06:00
2019-06-23 03:13:57 -06:00
2019-06-23 03:13:57 -06:00
2019-06-23 03:13:57 -06:00
2019-06-23 03:13:57 -06:00
2019-06-23 03:13:57 -06:00
2019-06-23 03:13:57 -06:00
2019-06-23 03:13:57 -06:00
2019-06-23 03:13:57 -06:00
2019-06-23 03:13:57 -06:00
2019-06-23 03:13:57 -06:00
2019-06-23 03:13:57 -06:00
2019-06-23 03:13:57 -06:00
2019-06-23 03:13:57 -06:00
2019-06-23 03:13:57 -06:00
2019-06-23 03:13:57 -06:00
2019-06-23 03:13:57 -06:00
2019-06-23 03:13:57 -06:00
2019-06-23 03:13:57 -06:00
2019-06-23 03:13:57 -06:00
2019-06-23 03:13:57 -06:00
2019-06-23 03:13:57 -06:00
2019-06-23 03:13:57 -06:00
2019-06-23 03:13:57 -06:00
2019-06-23 03:13:57 -06:00
2019-06-23 03:13:57 -06:00
2019-06-23 03:13:57 -06:00
2019-06-23 03:13:57 -06:00
2019-06-23 03:13:57 -06:00
2019-06-23 03:13:57 -06:00
2019-06-23 03:13:57 -06:00
2020-01-31 08:40:11 +02:00
2019-06-23 03:13:57 -06:00
2019-06-23 03:13:57 -06:00
2019-06-23 03:13:57 -06:00
2019-06-23 03:13:57 -06:00
2019-11-08 14:36:37 +02:00
2019-06-23 03:13:57 -06:00
2019-06-23 03:13:57 -06:00
2019-06-23 03:13:57 -06:00
2019-06-23 03:13:57 -06:00
2019-06-23 03:13:57 -06:00
2019-06-23 03:13:57 -06:00
2020-02-28 13:23:54 +02:00
2019-06-23 03:13:57 -06:00
2019-06-23 03:13:57 -06:00
2019-06-23 03:13:57 -06:00
2019-06-23 03:13:57 -06:00
2019-06-23 03:13:57 -06:00
2019-06-23 03:13:57 -06:00
2019-06-23 03:13:57 -06:00
2019-06-23 03:13:57 -06:00
2019-06-23 03:13:57 -06:00
2019-06-23 03:13:57 -06:00
2019-06-23 03:13:57 -06:00
2019-06-23 03:13:57 -06:00
2019-06-23 03:13:57 -06:00
2019-06-23 03:13:57 -06:00
2019-06-23 03:13:57 -06:00
2019-06-23 03:13:57 -06:00
2019-06-23 03:13:57 -06:00
2019-06-23 03:13:57 -06:00
2019-06-23 03:13:57 -06:00
2019-06-23 03:13:57 -06:00
2019-06-23 03:13:57 -06:00
2019-06-23 03:13:57 -06:00
2019-06-23 03:13:57 -06:00
2019-06-23 03:13:57 -06:00
2019-06-23 03:13:57 -06:00
2019-06-23 03:13:57 -06:00
2019-06-23 03:13:57 -06:00
2019-06-23 03:13:57 -06:00
2019-06-23 03:13:57 -06:00
2019-06-23 03:13:57 -06:00
2019-06-23 03:13:57 -06:00
2019-06-23 03:13:57 -06:00
2019-06-23 03:13:57 -06:00
2019-06-23 03:13:57 -06:00
2019-06-23 03:13:57 -06:00
2019-06-23 03:13:57 -06:00
2019-06-23 03:13:57 -06:00
2019-06-23 03:13:57 -06:00
2019-06-23 03:13:57 -06:00
2019-06-23 03:13:57 -06:00
2019-06-23 03:13:57 -06:00
2019-06-23 03:13:57 -06:00
2019-06-23 03:13:57 -06:00
2019-06-23 03:13:57 -06:00
2019-06-23 03:13:57 -06:00
2019-06-23 03:13:57 -06:00
2019-06-23 03:13:57 -06:00
2019-06-23 03:13:57 -06:00
2019-06-23 03:13:57 -06:00
2019-06-23 03:13:57 -06:00
2019-06-23 03:13:57 -06:00
2019-06-23 03:13:57 -06:00
2019-07-16 20:50:23 +03:00
2019-06-23 03:13:57 -06:00
2019-06-23 03:13:57 -06:00
2019-06-23 03:13:57 -06:00
2019-06-23 03:13:57 -06:00
2019-06-23 03:13:57 -06:00
2019-06-23 03:13:57 -06:00
2019-06-23 03:13:57 -06:00
2019-06-23 03:13:57 -06:00
2019-06-23 03:13:57 -06:00
2019-06-23 03:13:57 -06:00
2019-06-23 03:13:57 -06:00
2019-06-23 03:13:57 -06:00
2019-06-23 03:13:57 -06:00
2019-06-23 03:13:57 -06:00
2019-06-23 03:13:57 -06:00
2019-06-23 03:13:57 -06:00
2019-06-23 03:13:57 -06:00
t.x
2019-06-23 03:13:57 -06:00
2019-06-23 03:13:57 -06:00
2019-06-23 03:13:57 -06:00
2019-06-23 03:13:57 -06:00
2019-06-23 03:13:57 -06:00
try
2019-06-23 03:13:57 -06:00
2019-06-23 03:13:57 -06:00
2019-06-23 03:13:57 -06:00
2019-06-23 03:13:57 -06:00
2019-06-23 03:13:57 -06:00
2019-06-23 03:13:57 -06:00
2019-06-23 03:13:57 -06:00
2019-06-23 03:13:57 -06:00
2019-06-23 03:13:57 -06:00
2019-06-23 03:13:57 -06:00
2019-06-23 03:13:57 -06:00
2019-06-23 03:13:57 -06:00
2019-06-23 03:13:57 -06:00
2019-06-23 03:13:57 -06:00
2019-06-23 03:13:57 -06:00
2019-06-23 03:13:57 -06:00
2019-06-23 03:13:57 -06:00
2019-06-23 03:13:57 -06:00
2019-06-23 03:13:57 -06:00
2019-06-23 03:13:57 -06:00
2019-06-23 03:13:57 -06:00
2019-06-23 03:13:57 -06:00
2019-06-23 03:13:57 -06:00
2019-06-23 03:13:57 -06:00
xc
2019-06-23 03:13:57 -06:00
yc
2019-06-23 03:13:57 -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.