Chapter 13. Testing

As noted earlier, tests have been written to verify the operation of certain specific areas of interest in the C++ library support, particularly the use of exceptions from multiple threads which is addressed in the throw* tests.

The GNU libstdc++ v3 testsuite has been imported into this package and may be found under the tscpp subdirectory of this package. There are a large number of tests within the libstdc++ testsuite of varying rigour. An analysis of the coverage has been made, and any notable gaps in the test coverage have been addressed in the custom tests in the tests subdirectory of this package.

The testsuite is quite large and takes some time to build, and so although built by default it may disabled with the CYGPKG_LIBSTDCXX_OFFICIAL_TESTSUITE CDL option. Some tests contain aspects which only operate if the RAM filesystem package is enabled, therefore to test the library more thoroughly developers may wish to consider enabling the RAM filesystem.

Notes on how the libstdc++ testsuite was imported, including what types of changes were made and what the results were, are available within this package in the tscpp/NOTES text file.