NetBSD/bin/ed/test/README
alm 9380925b08 Added a line-addressing test so this isn't overlooked again.
Added BACKWARDS directive to Makefile for compatibility.
Completely changed the name space as per FSF's request.
Fixed a line-addressing bug introduced by previous `fix', i.e.,
space preceding a digit acts a plus (+) operator, as in `1 1' == `2',
and a plus operator by itself acts as +1, but a space by itself
should not equal a plus operator, i.e., `1 ' != `1+' == `2'.
1993-11-23 04:41:44 +00:00

42 lines
1.7 KiB
Plaintext

The files in this directory with suffixes `.t', `.d', `.r' and `.err' are
used for testing ed. To run the tests, set the ED variable in the Makefile
for the path name of the program to be tested (e.g., /bin/ed), and type
`make'. The tests do not exhaustively verify POSIX compliance nor do
they verify correct 8-bit or long line support.
The test file suffixes have the following meanings:
.t Template - a list of ed commands from which an ed script is
constructed
.d Data - read by an ed script
.r Result - the expected output after processing data via an ed
script.
.err Error - invalid ed commands that should generate an error
The output of the tests is written to the two files err.o and scripts.o.
At the end of the tests, these files are grep'ed for error messages,
which look like:
*** The script u.ed exited abnormally ***
or:
*** Output u.o of script u.ed is incorrect ***
It is assumed that the ed being tested processes escapes (\) in file names.
This is so that a name starting with bang (!) can be read, via:
r \!file
Without the escape, a POSIX ed would attempt to read the output of
the shell command `file'. If the ed being tested does not support escape
processing on file names, then the script `mkscripts.sh' should be modified
accordingly.
The POSIX requirement that an address range not be used where at most
a single address is expected has been relaxed in this version of ed.
Therefore, the following scripts which test for compliance with this
POSIX rule exit abnormally:
=-err.ed
a1-err.ed
i1-err.ed
k1-err.ed
r1-err.ed
In addition, one of bang1-err.ed or bang2.ed will fail, depending on
whether or not ed was compiled with the EX_BANG directive.