xref: /freebsd/bin/ed/test/README (revision d20b621b11692f4f2c6d7191b9a40b778bf1f007)
1The files in this directory with suffixes `.t', `.d', `.r' and `.err' are
2used for testing ed.  To run the tests, set the ED variable in the Makefile
3for the path name of the program to be tested (e.g., /bin/ed), and type
4`make'.  The tests do not exhaustively verify POSIX compliance nor do
5they verify correct 8-bit or long line support.
6
7The test file suffixes have the following meanings:
8.t    Template - a list of ed commands from which an ed script is
9      constructed
10.d    Data - read by an ed script
11.r    Result - the expected output after processing data via an ed
12      script.
13.err  Error - invalid ed commands that should generate an error
14
15The output of the tests is written to the two files err.o and scripts.o.
16At the end of the tests, these files are grep'ed for error messages,
17which look like:
18	*** The script u.ed exited abnormally ***
19or:
20	*** Output u.o of script u.ed is incorrect ***
21
22It is assumed that the ed being tested processes escapes (\) in file names.
23This is so that a name starting with bang (!) can be read, via:
24	r \!file
25Without the escape, a POSIX ed would attempt to read the output of
26the shell command `file'.  If the ed being tested does not support escape
27processing on file names, then the script `mkscripts.sh' should be modified
28accordingly.
29
30The POSIX requirement that an address range not be used where at most
31a single address is expected has been relaxed in this version of ed.
32Therefore, the  following scripts  which test for compliance with this
33POSIX rule exit abnormally:
34=-err.ed
35a1-err.ed
36i1-err.ed
37k1-err.ed
38r1-err.ed
39
40In addition, one of bang1-err.ed or bang2.ed will fail, depending on whether or
41not ed was compiled with the VI_BANG directive.
42