X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/4b7400fbb0b937edf382293c942d775686271c1f..856a3313a14c886c37b2210d9f0220e4eb50e193:/teshsuite/smpi/MBI/CMakeLists.txt diff --git a/teshsuite/smpi/MBI/CMakeLists.txt b/teshsuite/smpi/MBI/CMakeLists.txt index 7a0b334b6a..4e12a1ead3 100644 --- a/teshsuite/smpi/MBI/CMakeLists.txt +++ b/teshsuite/smpi/MBI/CMakeLists.txt @@ -27,6 +27,7 @@ if (enable_smpi_MBI_testsuite) message(FATAL_ERROR "Command failed with status: ${status}") endif() endforeach() + unset(generator_scripts) set(CMAKE_C_COMPILER "${CMAKE_BINARY_DIR}/smpi_script/bin/smpicc") set(CMAKE_CXX_COMPILER "${CMAKE_BINARY_DIR}/smpi_script/bin/smpicxx") @@ -37,6 +38,18 @@ if (enable_smpi_MBI_testsuite) add_dependencies(tests tests-mbi) add_dependencies(tests-mbi simgrid-mc smpimain) + # Remove Concurrency tests that are out of reach because simgrid does not intercept local modifications yet + # An idea could be to use ASan on the verified application, along with https://github.com/google/sanitizers/wiki/AddressSanitizerManualPoisoning + # But currently, ASan is not usable at all, since the Checker dislikes this trick when it tries to read the memory of the app. + # We should change the checker to not read the app when verifying safty properties + file(GLOB cfiles ${CMAKE_BINARY_DIR}/MBI/tmp/LocalConcurrency*.c ${CMAKE_BINARY_DIR}/MBI/tmp/GlobalConcurrency*.c ) + foreach(cfile ${cfiles}) + file(REMOVE ${cfile}) + endforeach() + list(LENGTH cfiles len) + message(STATUS "Removed ${len} concurrency tests that would fail because we cannot intercept modifications of local variables.") + unset(len) + file(GLOB cfiles RELATIVE ${CMAKE_BINARY_DIR}/MBI/tmp ${CMAKE_BINARY_DIR}/MBI/tmp/*.c ) foreach(cfile ${cfiles}) # Copy the generated files only if different (needs cmake ≥ 3.21) @@ -67,48 +80,6 @@ if (enable_smpi_MBI_testsuite) else() file(COPY ${CMAKE_CURRENT_SOURCE_DIR}/MBIutils.py DESTINATION ${CMAKE_BINARY_DIR}/MBI) endif() - - # The following tests are known to fail because simgrid does not intercept local modifications yet - # An idea could be to use ASan on the verified application, along with https://github.com/google/sanitizers/wiki/AddressSanitizerManualPoisoning - # But currently, ASan is not usable at all, since the Checker dislikes this trick when it tries to read the memory of the app. - # We should change the checker to not read the app when verifying safty properties - foreach(localmodif - LocalConcurrency_Iallgather_nok LocalConcurrency_Iallgatherv_nok LocalConcurrency_Iallreduce_nok LocalConcurrency_Ialltoall_nok - LocalConcurrency_Ialltoallv_nok LocalConcurrency_Ibcast_nok LocalConcurrency_Iexscan_nok LocalConcurrency_Igather_nok - LocalConcurrency_Irecv_Isend_nok LocalConcurrency_Irecv_Send_init_nok LocalConcurrency_Irecv_Send_nok LocalConcurrency_Ireduce_nok - LocalConcurrency_Iscan_nok LocalConcurrency_Iscatter_nok LocalConcurrency_Recv_Isend_nok LocalConcurrency_Recv_Send_init_nok - LocalConcurrency_Recv_init_Isend_nok LocalConcurrency_Recv_init_Send_nok LocalConcurrency_Recv_init_Send_init_nok - - GlobalConcurrency_Get_Isend_Irecv_nok GlobalConcurrency_Get_Isend_Recv_nok GlobalConcurrency_Get_Send_Irecv_nok GlobalConcurrency_Get_Send_Recv_nok - GlobalConcurrency_Put_Isend_Irecv_nok GlobalConcurrency_Put_Isend_Recv_nok GlobalConcurrency_Put_Send_Irecv_nok GlobalConcurrency_Put_Send_Recv_nok - - GlobalConcurrency_rl_Win_fence_Get_rstore_nok GlobalConcurrency_rl_Win_lock_all_Get_rstore_nok - GlobalConcurrency_rl_Win_fence_Put_rstore_nok GlobalConcurrency_rl_Win_lock_all_Put_rstore_nok - - GlobalConcurrency_rl_Win_fence_Get_Get_nok - GlobalConcurrency_rl_Win_fence_Put_Get_nok - GlobalConcurrency_rl_Win_fence_Put_Put_nok - GlobalConcurrency_rl_Win_fence_Put_rload_nok - - GlobalConcurrency_rl_Win_lock_Get_Get_nok - GlobalConcurrency_rl_Win_lock_Get_rstore_nok - GlobalConcurrency_rl_Win_lock_Put_Get_nok - GlobalConcurrency_rl_Win_lock_Put_Put_nok - GlobalConcurrency_rl_Win_lock_Put_rload_nok - GlobalConcurrency_rl_Win_lock_Put_rstore_nok - GlobalConcurrency_rl_Win_lock_all_Get_Get_nok - GlobalConcurrency_rl_Win_lock_all_Put_Get_nok - GlobalConcurrency_rl_Win_lock_all_Put_Put_nok - GlobalConcurrency_rl_Win_lock_all_Put_rload_nok - GlobalConcurrency_rr_Win_fence_Get_Put_nok - GlobalConcurrency_rr_Win_fence_Put_Put_nok - GlobalConcurrency_rr_Win_lock_Get_Put_nok - GlobalConcurrency_rr_Win_lock_Put_Put_nok - GlobalConcurrency_rr_Win_lock_all_Get_Put_nok - GlobalConcurrency_rr_Win_lock_all_Put_Put_nok - ) - set_tests_properties(mbi-${localmodif} PROPERTIES WILL_FAIL true) - endforeach(localmodif ) endif() # Add the needed files to the distribution