📄️ AutoTesting
SST employs automatic testing (or "AutoTesting") for both pull-requests prior to allowing merge and on all devel and master branches in nightly regression jobs. Pull-request testing is run on a subset of SST runtime variants and supported platforms whereas the nightly testing covers all supported platforms and several variants (e.g., serial, parallel) on each.
📄️ Running SST tests
SST Core includes two test utilities sst-test-core and sst-test-elements. These are python-based utilities built on the unittest module and modified for SST. The code for this framework resides in sst-core/src/sst/core/testingframework/. Pull request and nightly jobs that run tests on Core, Elements, or third-party element libraries, do so by using this framework to locate and run test suites. The utilities are nearly identical and references to one in this guide apply to both unless otherwise stated.
📄️ Testing FAQ
Test Frameworks
📄️ Creating test suites
The SST testing framework is built on the Python unittest library. Support for running tests concurrently additionally builds on the Python testtools extensions.
📄️ Test framework API
The following API functions are provided by the SST test framework. Tests may use these in combination with any built-in Python functions.