The testing environment for ISIS includes unit test for nearly every C++ class or struct in the ISIS library, one or more regression tests for all non-interactive applications, and several regression tests for chains of multiple applications. Many of the tests require input and/or truth files. There are over 80GB of these test files, so they are not included in the Github code repository.
The testing environment for ISIS includes unit test for nearly every C++ class or struct in the ISIS library, one or more regression tests for all non-interactive applications, and several regression tests for chains of multiple applications (module tests). Many of the tests require input and/or truth files. There are over 80GB of these test files, so they are not included in the Github code repository.
Unit tests are designed to test a single class from the ISIS library (e.g., Historgram, ProcessByLine, VoyagerCamera). Unit tests use two frameworks, the newer gtest and the older in house make based tests. Test data for gtest based tests is usually embedded in the test source code file located in $ISISROOT/isis/tests. Input data for the make based tests can be embedded in the unittest.cpp, located in the source code directory for the class, or an external file located in the ISIS3DATA or ISIS3TESTDATA areas. Output test data for the make based tests is always located in the source code directory for the class.