Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Merge branch 'master' into actor-yield
[simgrid.git] / teshsuite / smpi / isp / umpire / CMakeLists.txt
index e20f7bd..cc7f9c7 100644 (file)
@@ -28,14 +28,17 @@ set(umpire_tests_passing
   no-error-wait-any_src3
   no-error-wait-any_src4
   no-error-waitany-any_src
-  partial-recv
   sendrecv-deadlock
   send-recv-ok
   irecv-isend-ok
-  irecv-isend-ok2
   lost-request-waitall
  ) # Passing (no deadlock) tests
 
+set(umpire_tests_passing_broken
+  irecv-isend-ok2
+  partial-recv
+  )
+
 # 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
@@ -47,17 +50,9 @@ set(umpire_tests_missed_deadlock
 
 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
@@ -71,22 +66,33 @@ set(umpire_tests_deadlock
   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
   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/
@@ -181,7 +187,11 @@ foreach(file ${umpire_src_other})
   set(sources ${sources} ${CMAKE_CURRENT_SOURCE_DIR}/${file})
 endforeach()
 
-foreach(file ${umpire_tests_passing} ${umpire_tests_deadlock} ${umpire_tests_missed_deadlock} ${umpire_tests_problematic}  ) 
+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)
@@ -189,18 +199,16 @@ set(txt_files ${txt_files} ${sources} PARENT_SCOPE)
 # Build the tests
 #################
 
-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_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 "-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)
@@ -210,21 +218,21 @@ if(enable_smpi AND enable_smpi_ISP_testsuite)
   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_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)
+    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()
 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}