Dir:    check

Title:  NodeBrain Check Directory

Description:

This directory contains NodeBrain test scripts used to check
a build.  A small script (build.nb) is included for
testing to make sure nb and the sample skill modules build
properly and the loader is able to resolve symbols.

We have started to include "check scripts" (a NodeBrain
concept) in the check directory.  The set of check scripts
will be expanded as we stumble onto sensitivities to platform
variations, and simply to check a wider variety of features.
However, we will keep the amount of testing performed by check
scripts in the check directory down to a level that is reasonable
to run at install time.  A separate directory "test" is provided
for more extensive test and check scripts.

Check script names end with "~" and are invoked as check scripts
by specifying "~" in front of the name.  Use the -b (bail)
option if you want to stop on the first check error.

  $ nb -b ~name.nb~

The idea behind check scripts is simple---we want to make
sure nb produces the expected results for a given set of
input commands.  A check sript measures the results based on
nb output.  It simply compares the output from each command
to a predefined expectation.  This is a limited approach, but
sufficient for much of the verification we need to perform.

The nbcheck command in the bin directory can be used to run
every check script in a directory.  To run all check scripts
in this directory from the parent directory, execute the
following command.    

  $ bin/nbcheck check

=============================================================
History:

Date       Change
---------  --------------------------------------------------
2004/10/09 Ed Trettevik - introduced in 0.6.1
=============================================================

Files included in the distribution are described here.

Script     Function
--------   --------------------------------------------------
build.nb   Test to verify nb is executable after a build from
           from a source distribution or download of binary
           distribution.  This is invoked directly by the
           "make check" option of the make file.

*.nb-      Check script used with nbcheck that does not use
           the "check" feature of nb.  These scripts are
           invoked by nbcheck, which uses the -b option to
           request that nb terminate on any error. These
           scripts normally have something unpredictable in
           in their output that prevents the use of the check
           feature.  Because the -b (bail) option is used
           without the check feature, the scripts are designed
           to expect no error messages.
           

*.nb~      Check script used with nbcheck using the "check"
           feature of nb.  These are used to check against
           expected output, including deliberately generated
           error messages.

Files you might generate by running nbcheck are described
here.

File       Descriptions
--------   --------------------------------------------------
*.nb~~     New generation check script. When a script is run
           in check mode ("~" prefix) a check script is
           generated with a name composed of the script name
           followed by a "~".  When a check script is run in
           check mode, an additional "~" is tacked on.  When
           nbcheck is used to run the check scripts it will
           clean up the "~~" files after a successful check.

*.nb~.out  When nbcheck invokes a check script, it directs
           stderr to a file named like this.  This file is
           deleted after a successful execution.  If the
           check ends with a non-zero exit code, this file
           is retained for debugging.

*.nb~.diff The nbcheck script compares *.nb~~ to *.nb~ after
           a "successful" execution to make sure they match
           exactly.  This is a double check on the "check"
           functionality in nb.  If a difference is found,
           and error is produced and the *.diff file is left
           for investigation.
