dropped-req
comm-deadlock
)
-
+
set(umpire_tests_problematic
deadlock-config # No deadlock detected by ISP unless MPI_Send blocking activated
) # problematic tests
-
+
# These files are not listed on http://formalverification.cs.utah.edu/ISP_Tests/
set(umpire_src_other
abort1.c
change-send-buffer-type-exhaustive.c
collective-exhaustive-byte-int-mismatch.c
collective-exhaustive-no-error.c
- collective-misorder.c
- collective-misorder2.c
deadlock-config_blocking.c
errhandler-no-error.c
intercomm_merge-deadlock.c
lost-request2.c
lost-request3.c
- lost-request.c
+ lost-request.c
no-error4-any_src.c
no-error4.c
no-error-derived-comms.c
-
+
no-error-persistent-all-completions.c
no-error-persistent.c
no-error-persistent-test.c
no-error-probe-any_src.c
no-error-probe-any_tag.c
no-error-probe.c
-
+
no-error-wait2.c # Does not compile.
no-error-waitall-any_src2.c
no-error-waitall-any_src3.c
no-error-waitall-any_src.c
no-error-waitall.c
no-error-waitany2.c
-
+
op-no-error.c
op-no-free.c
partial-recv-exhaustive.c
# Build the tests
#################
-if(enable_smpi AND enable_model-checking AND enable_smpi_ISP_testsuite)
+if(enable_smpi AND enable_smpi_ISP_testsuite)
set(CMAKE_C_COMPILER "${CMAKE_BINARY_DIR}/smpi_script/bin/smpicc")
set(CMAKE_Fortran_COMPILER "${CMAKE_BINARY_DIR}/smpi_script/bin/smpiff")
-
+ set(umpire_tests_to_run ${umpire_tests_passing})
+ if (enable_model-checking)
+ set(umpire_tests_to_run ${umpire_tests_to_run} ${umpire_tests_deadlock} ${umpire_tests_problematic})
+ endif()
include_directories(BEFORE "${CMAKE_HOME_DIRECTORY}/include/smpi")
- foreach (test ${umpire_tests_passing} ${umpire_tests_deadlock} ${umpire_tests_problematic} )
- add_executable(${test} ${test}.c)
+ foreach (test ${umpire_tests_to_run})
+ add_executable(${test} EXCLUDE_FROM_ALL ${test}.c)
+ add_dependencies(tests-mc ${test})
target_link_libraries(${test} simgrid)
set_source_files_properties(${test}.c PROPERTIES COMPILE_FLAGS "-Dlint -Wno-error -Wno-return-type")
set(umpire_tesh ${umpire_tesh} ${test})
set(files_to_clean ${files_to_clean} ${CMAKE_CURRENT_BINARY_DIR}/${test}.tesh)
endforeach(test)
-
+
# TODO, what should we do about ${umpire_tests_missed_deadlock}?
foreach (test ${umpire_tests_passing})
write_file(${CMAKE_CURRENT_BINARY_DIR}/${test}.tesh "! timeout 30")
write_file(${CMAKE_CURRENT_BINARY_DIR}/${test}.tesh "! output display" APPEND)
- write_file(${CMAKE_CURRENT_BINARY_DIR}/${test}.tesh "\$ \${bindir:=.}/../../../../smpi_script/bin/smpirun -wrapper \"\${bindir:=.}/../../../../bin/simgrid-mc\" -hostfile ../../hostfile -platform ../../../../examples/platforms/small_platform.xml --log=xbt_cfg.thresh:warning -np 3 --cfg=smpi/host-speed:1e9 --cfg=smpi/coll-selector:mpich \${bindir:=.}/${test} --log=smpi_coll.thresh:error" APPEND)
+ if(enable_model-checking)
+ set(wrapper "-wrapper \"\${bindir:=.}/../../../../bin/simgrid-mc\"")
+ endif()
+ write_file(${CMAKE_CURRENT_BINARY_DIR}/${test}.tesh "\$ \${bindir:=.}/../../../../smpi_script/bin/smpirun ${wrapper} -hostfile ../../hostfile -platform ../../../../examples/platforms/small_platform.xml --log=xbt_cfg.thresh:warning -np 3 --cfg=smpi/host-speed:1Gf --cfg=smpi/coll-selector:ompi \${bindir:=.}/${test} --log=smpi_coll.thresh:error" APPEND)
endforeach()
- foreach (test ${umpire_tests_deadlock} ${umpire_tests_problematic} )
- write_file(${CMAKE_CURRENT_BINARY_DIR}/${test}.tesh "! timeout 30" )
- write_file(${CMAKE_CURRENT_BINARY_DIR}/${test}.tesh "! expect return 3" APPEND)
- write_file(${CMAKE_CURRENT_BINARY_DIR}/${test}.tesh "! output display" APPEND)
- write_file(${CMAKE_CURRENT_BINARY_DIR}/${test}.tesh "\$ \${bindir:=.}/../../../../smpi_script/bin/smpirun -wrapper \"\${bindir:=.}/../../../../bin/simgrid-mc\" -hostfile ../../hostfile -platform ../../../../examples/platforms/small_platform.xml --log=xbt_cfg.thresh:warning -np 3 --cfg=smpi/host-speed:1e9 --cfg=smpi/coll-selector:mpich \${bindir:=.}/${test} --log=smpi_coll.thresh:error" APPEND)
- endforeach()
+ if (enable_model-checking)
+ foreach (test ${umpire_tests_deadlock} ${umpire_tests_problematic} )
+ write_file(${CMAKE_CURRENT_BINARY_DIR}/${test}.tesh "! timeout 30" )
+ write_file(${CMAKE_CURRENT_BINARY_DIR}/${test}.tesh "! expect return 3" APPEND)
+ write_file(${CMAKE_CURRENT_BINARY_DIR}/${test}.tesh "! output display" APPEND)
+ write_file(${CMAKE_CURRENT_BINARY_DIR}/${test}.tesh "\$ \${bindir:=.}/../../../../smpi_script/bin/smpirun -wrapper \"\${bindir:=.}/../../../../bin/simgrid-mc\" -hostfile ../../hostfile -platform ../../../../examples/platforms/small_platform.xml --log=xbt_cfg.thresh:warning -np 3 --cfg=smpi/buffering:zero --cfg=smpi/coll-selector:ompi \${bindir:=.}/${test} --log=smpi_coll.thresh:error" APPEND)
+ endforeach()
+ endif()
endif()
# Erase all tesh files on cleanup: they are generated anyway
set_directory_properties ( PROPERTIES ADDITIONAL_MAKE_CLEAN_FILES "${files_to_clean}" )
-if(enable_smpi AND enable_model-checking AND enable_smpi_ISP_testsuite)
+if(enable_smpi AND enable_smpi_ISP_testsuite)
foreach (tesh ${umpire_tesh})
ADD_TESH(mc-umpire-${tesh}
--setenv srcdir=${CMAKE_CURRENT_SOURCE_DIR}