SWIG testsuite README file
--------------------------

This testsuite is here to ensure SWIG can handle a wide range of c/c++
syntax. The testsuite comprises many testcases in this directory. Each
test case is tested under each of the language modules thereby
thoroughly testing all of SWIG. It ensures that each of the language
modules are at a similar standard.

Those modules that support shadow classes run the tests producing
shadow classes to test the full language module functionality.

Some test cases need a runtime test. These need implementing in each
of the language modules. The language modules look for a file in the
language specific test-suite directory which has _runme appended after
the testcase name. If one is found it will be run as part of the test.

Some language modules add to this common set of test cases for
language specific tests. These can be found in the appropriate
language test-suite directory. There is also a README in each of the
language module directories.

For each testcase a message showing which testcase is being tested is
displayed. Nothing else is printed unless the test fails.


Some Developer Guidelines
-------------------------

Note that the whole test suite need not be run each time a testcase is
modified. An individual testcase may be run by going to the language
module test-suite directory and using make testcasename.xxx where xxx
is the type of test (eg cpptest). See common.mk. make -s doesn't print
any junk on the screen and is useful for emulating the way make check
works from the SWIG root directory.

If there are runtime tests needed, don't print anything unless there
is an error in which case stderr is suggested.

Please set the name of the module to the same name as the testcase,
otherwise modules will not be found.

There is a special directory called testdir for testcases requiring
inputs from subdirectories or multiple directories. See the
testdir/README file.

Further Documentation
---------------------

There is documentation about the test-suite and how to use it in
the SWIG documentation - Doc/Manual/Extending.html#Extending_test_suite.

