Background:

This is to perform regression testing, which is to say, make sure the
software works the same way that it used to.  This is not to test new
features (see "modify an existing tree" for that).

When code has been changed for a certain program that is involved in a
regression testing tree, go to that tree, run the test, and make sure
that the results have not changed (in any bad way).  This is meant to
be fast and easy.

The test consists of command scripts that were written before.  The
scripts are executed, and the output is compared with the output of
an older execution.  The should usually be identical.

---------------------------------------------------------------------------

To perform regression testing, one needs the data (via 'make regress_data').
Given that, only the @test and @show_diffs are needed (sample commands are
shown with a preceding prompt, '> ').

    1. Run the regression testing script.  It goes through the steps:

       a. Create a "results" directory, including a timestamp.
       b. Copy all "data" files into it.
       c. 'cd' into the "results" directory.
       d. For each command script in the commands directory, execute it,
          storing all output text into a file called e."command name".

        > ./@test


    2. To compare against an older execution, run the @show_diffs script.
       It goes through the steps:

       a. Make a list of the "results" directories.
       b. Create a new "diffs" directory.
       c. Compare files between the newest and oldest "results" dirs:
            - cd into newest "results" directory
            - foreach file (*)
                diff $file ../other.result/$file >& ../diffs/d.$file

        > ./@show_diffs


    3. Look at the sizes of the diff files, or the contents (only
       expected differences should exist).

        > ls -l diffs
        > cat diffs/*
