diff --git a/tests/d2/CMakeLists.txt b/tests/d2/CMakeLists.txt index e275a632..733571ff 100644 --- a/tests/d2/CMakeLists.txt +++ b/tests/d2/CMakeLists.txt @@ -11,5 +11,17 @@ set(DMD_TEST_MODEL "${model}" CACHE STRING get_property(ldmd_path TARGET ldmd2 PROPERTY LOCATION) -add_test(NAME dmd-testsuite WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}/tests/d2/dmd-testsuite - COMMAND make RESULTS_DIR=${CMAKE_BINARY_DIR}/dmd_test_results DMD=${ldmd_path} MODEL=${DMD_TEST_MODEL} quick) +# Build test suite in both debug and release modes. The DFLAGS environment +# variable read by LDMD is used because the DMD testsuite build system +# provides no way to run the test cases with a given set of flags without +# trying all combinations of them. + +add_test(NAME dmd-testsuite-debug + WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}/tests/d2/dmd-testsuite + COMMAND make RESULTS_DIR=${CMAKE_BINARY_DIR}/dmd-testsuite-debug DMD=${ldmd_path} DFLAGS="-gc" MODEL=${DMD_TEST_MODEL} quick +) + +add_test(NAME dmd-testsuite-release + WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}/tests/d2/dmd-testsuite + COMMAND make RESULTS_DIR=${CMAKE_BINARY_DIR}/dmd-testsuite-release DMD=${ldmd_path} DFLAGS=-O3\ -release MODEL=${DMD_TEST_MODEL} quick +)