

QUICKSTART: Adding new tests:

- The recommended way to add a new test is to copy templatetestdir/
  to 'yourtestname' and modify the test.py file in the new directory.
  Then add 'yourtestname' alongside the other tests in runall.py and runall.sh.
  If you don't, your new test can still be run separately, but it
  won't be part of the complete testsuite and is more likely to be
  ignored by other developers.


A further explanation of these scripts is as follows:

- run.py is a script used to run other Python scripts with tests with some commandline options.
  It takes the following command line arguments:
  
  ./run.py --name=testname --verbosity=0 --local=0
  
  The testname is the name of the python module to run as a test.
  F.ex. 'mytest' to import mytest.py, or 'othertest' to import othertest/__init__.py.
  This module must have defined a function 'test' with one argument,
  the verbosity. Increasing the verbosity parameter results in more
  textual output during the tests. The final parameter 'local' can
  be set to 0 or 1, and if 1 it will add the locally built (uninstalled)
  SyFi and sfc modules to the import path. Thus run.py can be used to
  run the other tests with the installed version of SyFi and the
  newest local build by simply switching one parameter.
  The default verbosity is 0, default name is 'runall',
  and default 'local' value is 0.

- runall.py is a script that defines a function test, 
  where other tests defined in python can be added to
  run all tests in sequence.
  When adding new tests, they must be added here manually.

- runall.sh is a bash script that calls ./run.py with each test
  in sequence, giving each test module its own fresh python environment.
  The reason for this is that there are some global state variables
  in both GiNaC, SyFi, and sfc, the effect of which should be isolated
  from the test runs.
  When adding new tests, they must be added here manually.



