1 # See http://formalverification.cs.utah.edu/ISP_Tests/
3 set(umpire_tests_passing
21 no-error-interleaved-isend
27 no-error-waitany-any_src2
28 no-error-waitany-any_src3
31 no-error-wait-any_src2
32 no-error-wait-any_src3
33 no-error-wait-any_src4
34 no-error-waitany-any_src
41 ) # Passing (no deadlock) tests
43 set(umpire_tests_failing
44 any_src-can-deadlock10
45 any_src-can-deadlock10_mod
46 any_src-can-deadlock11
48 any_src-can-deadlock4_mod
50 any_src-can-deadlock5_mod
52 any_src-can-deadlock6_mod
56 any_src-waitall-deadlock
57 any_src-waitall-deadlock2
58 any_src-waitall-deadlock3
59 any_src-waitany-deadlock2
60 any_src-waitany-deadlock
62 any_src-wait-deadlock2
64 basic-deadlock-comm_create
65 basic-deadlock-comm_dup
66 basic-deadlock-comm_split
70 collective-misorder-allreduce
81 ) # failing (deadlocking) tests
83 set(umpire_tests_problematic
84 deadlock-config # No deadlock detected by ISP unless MPI_Send blocking activated
88 # These files are not listed on http://formalverification.cs.utah.edu/ISP_Tests/
94 basic-deadlock-cart_create.c
95 basic-deadlock-cart_sub.c
96 basic-deadlock-graph_create.c
97 basic-deadlock-intercomm_create.c
98 basic-deadlock-intercomm_merge.c
99 change-send-buffer-exhaustive.c
100 change-send-buffer-type-exhaustive.c
101 collective-exhaustive-byte-int-mismatch.c
102 collective-exhaustive-no-error.c
103 collective-misorder.c
104 collective-misorder2.c
106 deadlock-config_blocking.c
107 errhandler-no-error.c
112 group-no-error-exhaustive.c
116 group-no-free-exhaustive.c
117 intercomm_create-deadlock2.c
118 intercomm_create-deadlock3.c
119 intercomm_create-deadlock4.c
120 intercomm_create-deadlock.c
121 intercomm_create-no-error.c
122 intercomm_merge-deadlock.c
128 no-error-derived-comms.c
130 no-error-persistent-all-completions.c
131 no-error-persistent.c
132 no-error-persistent-test.c
133 no-error-persistent-testpartial.c
134 no-error-persistent-waitpartial.c
135 no-error-probe-any_src.c
136 no-error-probe-any_tag.c
139 # no-error-wait2.c # Does not compile.
140 no-error-waitall-any_src2.c
141 no-error-waitall-any_src3.c
142 no-error-waitall-any_src.c
148 partial-recv-exhaustive.c
149 partial-recv-persistent2.c
150 partial-recv-persistent3.c
151 partial-recv-persistent4.c
152 partial-recv-persistent.c
157 probe-any_src-types-can-mismatch.c
158 probe-any_tag-types-can-mismatch.c
160 pt2pt-byte-int-mismatch.c
161 remote_group-no-error.c
164 type-no-error-exhaustive.c
165 type-no-error-exhaustive-with-isends.c
169 type-no-free-exhaustive.c
172 # Add every file to the archive
173 ###############################
176 foreach(s ${umpire_src_other})
177 set(sources ${sources} ${CMAKE_CURRENT_SOURCE_DIR}/${s})
180 foreach(file ${umpire_tests_passing} ${umpire_tests_failing} ${umpire_tests_problematic} )
181 set(sources ${sources} ${CMAKE_CURRENT_SOURCE_DIR}/${file})
189 # set(examples_src ${examples_src} ${sources} PARENT_SCOPE)
190 set(txt_files ${txt_files} ${CMAKE_CURRENT_SOURCE_DIR}/README PARENT_SCOPE)
191 # set(EXTRA_DIST ${EXTRA_DIST} ${CMAKE_CURRENT_SOURCE_DIR}/no-error-wait2.c PARENT_SCOPE)
192 # set(tesh_files ${tesh_files} ${umpire_tesh} PARENT_SCOPE)
194 if(enable_smpi AND enable_smpi_ISP_testsuite)
195 set(CMAKE_C_COMPILER "${CMAKE_BINARY_DIR}/smpi_script/bin/smpicc")
196 set(CMAKE_Fortran_COMPILER "${CMAKE_BINARY_DIR}/smpi_script/bin/smpiff")
198 set(EXECUTABLE_OUTPUT_PATH "${CMAKE_CURRENT_BINARY_DIR}")
200 include_directories(BEFORE "${CMAKE_HOME_DIRECTORY}/include/smpi")
202 foreach (test ${umpire_tests_passing} ${umpire_tests_failing} ${umpire_tests_problematic} )
203 add_executable(${test} ${test}.c)
204 target_link_libraries(${test} simgrid)
205 set_source_files_properties(${test}.c PROPERTIES COMPILE_FLAGS "-Wno-error")
206 set(umpire_tesh ${umpire_tesh} ${test})
207 set(files_to_clean ${files_to_clean} ${CMAKE_CURRENT_BINARY_DIR}/${test}.tesh)
210 foreach (test ${umpire_tests_passing} )
211 write_file(${CMAKE_CURRENT_BINARY_DIR}/${test}.tesh "! timeout 30")
212 write_file(${CMAKE_CURRENT_BINARY_DIR}/${test}.tesh "! output display" APPEND)
213 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)
216 foreach (test ${umpire_tests_failing} ${umpire_tests_problematic} )
217 write_file(${CMAKE_CURRENT_BINARY_DIR}/${test}.tesh "! timeout 30" )
218 write_file(${CMAKE_CURRENT_BINARY_DIR}/${test}.tesh "! expect return 3" APPEND)
219 write_file(${CMAKE_CURRENT_BINARY_DIR}/${test}.tesh "! output display" APPEND)
220 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)
224 # Erase all tesh files on cleanup: they are generated anyway
225 set_directory_properties ( PROPERTIES ADDITIONAL_MAKE_CLEAN_FILES "${files_to_clean}" )
227 if(enable_smpi AND enable_smpi_ISP_testsuite)
228 foreach (tesh ${umpire_tesh})
229 ADD_TESH(mc-umpire-${tesh}
230 --setenv srcdir=${CMAKE_CURRENT_SOURCE_DIR}
231 --setenv bindir=${CMAKE_CURRENT_BINARY_DIR}
232 --cd ${CMAKE_CURRENT_SOURCE_DIR}
233 ${CMAKE_CURRENT_BINARY_DIR}/${tesh}.tesh)