5. Testing OpenFAST

The OpenFAST test suite consists of system and module level regression tests and unit tests. The regression test compares locally generated solutions to a set of baseline solutions. The unit tests ensure that individual subroutines are functioning as intended.

All of the necessary files corresponding to the regression test are contained in the reg_tests directory. The unit test framework is housed in unit_tests while the actual tests are contained in the directory corresponding to the tested module.

5.1. Configuring the test suite

Portions of the test suite are linked to the OpenFAST repository through git submodule. Specifically,

Be sure to clone the repo with the --recursive flag or execute git submodule update --init --recursive after cloning.

The test suite can be built with CMake similar to OpenFAST. The default CMake configuration is useful, but may need customization for particular build environments. See the installation documentation at Section 4 for more details on configuring the CMake targets.

While the unit tests must be built with CMake due to its external dependencies, the regression test may be executed without building with CMake. Section 5.2.2 and Section 5.2.1 have more information on regression testing and unit testing, respectively.