4.3BSD/usr/contrib/icon/libtest/READ.ME

The tests in this directory are intended primarily in checking the Icon
program library for distribution and not for use by installers.
They are included in the distribution, however, since they might be helpful
if unexpected problems arise and they may give some insight into the
library.

There are three sections of tests: programs, procedures, and C functions.
The first two are done by

	make Prog
	make Proc

or by

	make All

which does both.

The program tests are in two parts. This is because some programs
require command-line arguments or produce data other than to standard
output.  The first part, done by the shell script Prog1test, handles
those programs that can be tested with a data file in standard input.
The second part, done by the shell script Prog2test, handles the
rest. These shell scripts work from .tlist files, which contain
program names.  In the case of Prog2test, the names correspond to
shell scripts, which have tailored tests.

The programs that test the procedure libraries include link directives
to access the ucode for the libraries (in ../ilib). All of these tests
work from standard input to standard output.

The C functions are tested as part of the personalized interpreter
test and are not done via the Makefile here. The shell script used
is Functest.

These tests are far from exhaustive -- they are only intended to
verify that the programs are at least functional.

The tests, like the others in the Icon Version 5.9 distribution,
compare locally generated output in local/*.out with corresponding
"standard" output in distr/*.out. The standard output was produced
on a VAX-11/780 running 4.2bsd.

The library includes programs, procedures, and functions that
are machine- and system-dependent.  Discrepancies between local
and distr output should be examined to determine if they are
due to such a dependency.  The library also uses both the sets
and experimental extensions in Version 5.9 (see TR 84-10).  If
these extensions are not included in the local installation,
some of the tests will fail prematurely.

There are two programs that probably will produce output
locally that is different from the standard:  farb and loadmap.
The program farb produces output that depends on the
time of day.  The output of loadmap depends on the
details of local software. Other than that, the results should
be the same. For example, the tests run on a PDP-11/70 under Version 7
are identical to the standard ones, except for farb and loadmap.