From 52b4a9125eb391e652afa838e601a51caf31b406 Mon Sep 17 00:00:00 2001 From: Sandro Elsweijer Date: Wed, 21 Aug 2024 09:14:47 +0200 Subject: [PATCH] let tests run in parallel as default --- CMakeLists.txt | 2 +- test/CMakeLists.txt | 14 ++++++++++++-- 2 files changed, 13 insertions(+), 3 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index ec64d7f618..f06b37a63a 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -29,7 +29,7 @@ option( T8CODE_BUILD_DOCUMENTATION "Build t8code's documentation" OFF ) include(CMakeDependentOption) cmake_dependent_option( T8CODE_BUILD_DOCUMENTATION_SPHINX "Build t8code's documentation using sphinx" OFF "T8CODE_BUILD_DOCUMENTATION" OFF ) -set(T8CODE_CUSTOM_TEST_COMMAND "" CACHE STRING "Define custom test command, e.g.: mpirun -n 4") +set(T8CODE_CUSTOM_TEST_COMMAND "" CACHE STRING "Define custom test command, e.g.: mpirun -np 8 (overwrites standard mpirun -np 4 if build with mpi)") if( NOT CMAKE_BUILD_TYPE ) set( CMAKE_BUILD_TYPE "Release" ) diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt index 33ce3ffd72..3b86619d98 100644 --- a/test/CMakeLists.txt +++ b/test/CMakeLists.txt @@ -11,9 +11,19 @@ function( add_t8_test ) target_link_libraries( ${ADD_T8_TEST_NAME} PRIVATE T8 gtest pthread) # Split custom test command into a list by whitespace. - separate_arguments (T8CODE_CUSTOM_TEST_COMMAND_LIST NATIVE_COMMAND "${T8CODE_CUSTOM_TEST_COMMAND}") + # If MPI is enabled, and no custom test command is provided, use mpirun -np 4 as the default command. + # If MPI is not enabled, use the custom test command as is. + if ( T8CODE_ENABLE_MPI ) + if ( T8CODE_CUSTOM_TEST_COMMAND STREQUAL "" ) + separate_arguments (T8CODE_TEST_COMMAND_LIST NATIVE_COMMAND "mpirun -np 4") + else ( T8CODE_CUSTOM_TEST_COMMAND STREQUAL "" ) + separate_arguments (T8CODE_TEST_COMMAND_LIST NATIVE_COMMAND ${T8CODE_CUSTOM_TEST_COMMAND}) + endif ( T8CODE_CUSTOM_TEST_COMMAND STREQUAL "" ) + else( T8CODE_ENABLE_MPI ) + separate_arguments (T8CODE_TEST_COMMAND_LIST NATIVE_COMMAND ${T8CODE_CUSTOM_TEST_COMMAND}) + endif ( T8CODE_ENABLE_MPI ) - add_test( NAME ${ADD_T8_TEST_NAME} COMMAND ${T8CODE_CUSTOM_TEST_COMMAND_LIST} ./${ADD_T8_TEST_NAME} ) + add_test( NAME ${ADD_T8_TEST_NAME} COMMAND ${T8CODE_TEST_COMMAND_LIST} ./${ADD_T8_TEST_NAME} ) endfunction() # Copy test files to build folder so that the t8_test programs can find them.