Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
SMPI - Allow the use of ISP tests without MC activated (for the ones without errors)
[simgrid.git] / teshsuite / smpi / isp / umpire / CMakeLists.txt
index 900597c..afd2b4e 100644 (file)
@@ -28,7 +28,6 @@ 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
@@ -37,6 +36,7 @@ set(umpire_tests_passing
 
 set(umpire_tests_passing_broken
   irecv-isend-ok2
+  partial-recv
   )
 
 # These are supposed to deadlock but ISP does not find deadlock
@@ -90,11 +90,11 @@ set(umpire_tests_deadlock_broken
   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/
 set(umpire_src_other
   abort1.c
@@ -110,8 +110,6 @@ set(umpire_src_other
   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
@@ -132,11 +130,11 @@ set(umpire_src_other
   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
@@ -145,14 +143,14 @@ set(umpire_src_other
   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
@@ -199,40 +197,49 @@ set(txt_files ${txt_files} ${sources} PARENT_SCOPE)
 # 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 "-Wno-error -Wno-return-type")
+    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}