
VALIDATOR

Usage
-----

Use the RUN script in this directory to run the validator test.

Purpose
-------

The validator.uil file in this directory contains
valid and invalid entries; valid entries should not generate warnings
and/or errors in the listing, and invalid entries should.
Therefore, validator is a test of both uil's error-checking accuracy and
its robustness in dealing with errorful input files.

Interpreting
------------

At the end of the test, the script prints out the results of two tests:
exit status; and comparison of the provided validator.log file and the
log file generated during this execution of the test.

Note that currently, uil only supports two exit statuses: 0 and 1. This
test, because it is full of errors, should produce status 1. If the status
is any number other than 0 or 1, especially a large number, check to be
sure the compiler has not dumped core.

Before the comparison is made, some repetitive header lines are stripped from
the output. When the comparison test fails, you will need to study the file
run.diff to determine the nature of the differences.

Read through the run.diff file. If your version of the uil compiler is
either flagging valid values as errors, or passing through invalid values
as acceptable, you probably have new bugs. If the only differences between
your run.log and the validator.log have to do with line count or other
innocent discrepancies, you may consider Part II to pass.

Note, also, that validator.log is generated on a DECSTATION 3100. If
your machine uses 32 or 64 bit floats, you will probably find at least one
difference in the 'float' test section (variables named 'frizz...').


BUGS SHOWN BY THESE TESTS
 

validator
PIRS No.:      1610
Support enumerated exit statuses for (command line) uil, using
those available for callable uil and C-shell variable $status.
Version found in:      1.1S6

validator
PIRS No.:      2847
UIL compiler allows you to name and define controlled objects.
Not allowed in published syntax.
Version found in:      1.1


ENDBUGS

