# See http://formalverification.cs.utah.edu/ISP_Tests/
set(umpire_tests_passing
- any_src-can-deadlock
- any_src-can-deadlock2
- any_src-can-deadlock3
- any_src-deadlock
change-send-buffer
comm-dup-no-error
comm-dup-no-free
partial-recv
sendrecv-deadlock
send-recv-ok
- waitall-deadlock
- waitany-deadlock
- wait-deadlock
+ irecv-isend-ok
+ lost-request-waitall
) # Passing (no deadlock) tests
-
-set(umpire_tests_failing
+
+set(umpire_tests_passing_broken
+ irecv-isend-ok2
+ )
+
+# These are supposed to deadlock but ISP does not find deadlock
+# and we don't either. What should be test here?
+set(umpire_tests_missed_deadlock
+ any_src-deadlock
+ any_src-can-deadlock
+ any_src-can-deadlock2
+ any_src-can-deadlock3
+ )
+
+set(umpire_tests_deadlock
any_src-can-deadlock10
- any_src-can-deadlock10_mod
- any_src-can-deadlock11
any_src-can-deadlock4
- any_src-can-deadlock4_mod
any_src-can-deadlock5
- any_src-can-deadlock5_mod
any_src-can-deadlock6
- any_src-can-deadlock6_mod
- any_src-can-deadlock7
- any_src-can-deadlock8
- any_src-can-deadlock9
any_src-waitall-deadlock
any_src-waitall-deadlock2
any_src-waitall-deadlock3
basic-deadlock-comm_split
bcast-deadlock
collective-misorder
- collective-misorder2
collective-misorder-allreduce
- comm-bcast-deadlock
- comm-deadlock
complex-deadlock
- dropped-req
finalize-deadlock
irecv-deadlock
- irecv-isend-ok
- irecv-isend-ok2
- lost-request-waitall
-
+ waitall-deadlock
+ waitany-deadlock
+ wait-deadlock
) # failing (deadlocking) tests
+
+# Compile but run those tests:
+set(umpire_tests_deadlock_broken
+ any_src-can-deadlock10_mod
+ any_src-can-deadlock4_mod
+ any_src-can-deadlock5_mod
+ any_src-can-deadlock6_mod
+ any_src-can-deadlock7
+ any_src-can-deadlock8
+ any_src-can-deadlock9
+ any_src-can-deadlock11
+ collective-misorder2
+ comm-bcast-deadlock
+ dropped-req
+ comm-deadlock
+)
set(umpire_tests_problematic
- deadlock-config # No deadlock detected by ISP unless MPI_Send blocking activated
-
+ 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/
no-error-probe-any_tag.c
no-error-probe.c
- # no-error-wait2.c # Does not compile.
+ 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
type-no-free-exhaustive.c
)
+# Add these files to the archive
+#################
+
+set(sources "${CMAKE_CURRENT_SOURCE_DIR}/README")
+foreach(file ${umpire_src_other})
+ set(sources ${sources} ${CMAKE_CURRENT_SOURCE_DIR}/${file})
+endforeach()
+
+foreach(file
+ ${umpire_tests_passing} ${umpire_tests_passing_broken}
+ ${umpire_tests_deadlock} ${umpire_tests_deadlock_broken} ${umpire_tests_missed_deadlock}
+ ${umpire_tests_problematic}
+ ${umpire_tests_ignored} )
+ set(sources ${sources} ${CMAKE_CURRENT_SOURCE_DIR}/${file}.c)
+endforeach()
+set(txt_files ${txt_files} ${sources} PARENT_SCOPE)
# Build the tests
#################
-set(umpire_tesh "")
-set(txt_files ${txt_files} ${CMAKE_CURRENT_SOURCE_DIR}/README PARENT_SCOPE)
-
-if(enable_smpi AND enable_smpi_ISP_testsuite)
+if(enable_smpi AND enable_model-checking 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(EXECUTABLE_OUTPUT_PATH "${CMAKE_CURRENT_BINARY_DIR}")
-
include_directories(BEFORE "${CMAKE_HOME_DIRECTORY}/include/smpi")
- foreach (test ${umpire_tests_passing} ${umpire_tests_failing} ${umpire_tests_problematic} )
+ foreach (test ${umpire_tests_passing} ${umpire_tests_deadlock} ${umpire_tests_problematic} )
add_executable(${test} ${test}.c)
target_link_libraries(${test} simgrid)
- set_source_files_properties(${test}.c PROPERTIES COMPILE_FLAGS "-Wno-error")
+ set_source_files_properties(${test}.c PROPERTIES COMPILE_FLAGS "-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)
- foreach (test ${umpire_tests_passing} )
+ # 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:=.}/../../../../bin/smpirun -wrapper \"\${bindir:=.}/../../../../bin/simgrid-mc\" -hostfile ../../hostfile -platform ../../../../examples/platforms/small_platform.xml --log=xbt_cfg.thresh:warning -np 3 --cfg=smpi/running_power:1e9 --cfg=smpi/coll_selector:mpich \${bindir:=.}/${test} --log=smpi_coll.thresh:error" 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()
- foreach (test ${umpire_tests_failing} ${umpire_tests_problematic} )
+ 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:=.}/../../../../bin/smpirun -wrapper \"\${bindir:=.}/../../../../bin/simgrid-mc\" -hostfile ../../hostfile -platform ../../../../examples/platforms/small_platform.xml --log=xbt_cfg.thresh:warning -np 3 --cfg=smpi/running_power:1e9 --cfg=smpi/coll_selector:mpich \${bindir:=.}/${test} --log=smpi_coll.thresh:error" APPEND)
- endforeach()
-else()
-
- # If the tests are disabled, still add their files in the archive
- #################################################################
-
- set(sources "")
- foreach(file ${umpire_src_other})
- set(sources ${sources} ${CMAKE_CURRENT_SOURCE_DIR}/${file})
- endforeach()
-
- foreach(file ${umpire_tests_passing} ${umpire_tests_failing} ${umpire_tests_problematic} )
- set(sources ${sources} ${CMAKE_CURRENT_SOURCE_DIR}/${file}.c)
+ 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()
-
- set(txt_files ${txt_files} ${sources} PARENT_SCOPE)
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_smpi_ISP_testsuite)
+if(enable_smpi AND enable_model-checking AND enable_smpi_ISP_testsuite)
foreach (tesh ${umpire_tesh})
ADD_TESH(mc-umpire-${tesh}
--setenv srcdir=${CMAKE_CURRENT_SOURCE_DIR}