Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Add new entry in Release_Notes.
[simgrid.git] / teshsuite / smpi / mpich3-test / CMakeLists.txt
index 4e912b9..8d021ea 100644 (file)
@@ -1,7 +1,4 @@
-set(bin_files
-  ${bin_files}
-  ${CMAKE_CURRENT_SOURCE_DIR}/generate_report
-  PARENT_SCOPE)
+set(bin_files  ${bin_files}  ${CMAKE_CURRENT_SOURCE_DIR}/generate_report  PARENT_SCOPE)
 
 if("${CMAKE_BINARY_DIR}" STREQUAL "${CMAKE_HOME_DIRECTORY}")
 else()
@@ -13,41 +10,45 @@ else()
     endforeach()
 endif()
 
-set(txt_files
-  ${txt_files}
-  ${CMAKE_CURRENT_SOURCE_DIR}/README
-  ${CMAKE_CURRENT_SOURCE_DIR}/runtests
-  ${CMAKE_CURRENT_SOURCE_DIR}/testlist
-  ${CMAKE_CURRENT_SOURCE_DIR}/hostfile
-  ${CMAKE_CURRENT_SOURCE_DIR}/checktests
-  ${CMAKE_CURRENT_SOURCE_DIR}/generate_report
-  ${CMAKE_CURRENT_SOURCE_DIR}/util/mtest.c
-  ${CMAKE_CURRENT_SOURCE_DIR}/util/dtypes.c
-  ${CMAKE_CURRENT_SOURCE_DIR}/util/mtest_manual.c
-  ${CMAKE_CURRENT_SOURCE_DIR}/f77/testlist
-  ${CMAKE_CURRENT_SOURCE_DIR}/f90/testlist
-  ${CMAKE_CURRENT_SOURCE_DIR}/include/mpitestconf.h
-  ${CMAKE_CURRENT_SOURCE_DIR}/include/dtypes.h
-  ${CMAKE_CURRENT_SOURCE_DIR}/include/mpitest.h
-  PARENT_SCOPE)
-
+set(txt_files  ${txt_files}  ${CMAKE_CURRENT_SOURCE_DIR}/README
+                             ${CMAKE_CURRENT_SOURCE_DIR}/runtests
+                             ${CMAKE_CURRENT_SOURCE_DIR}/testlist
+                             ${CMAKE_CURRENT_SOURCE_DIR}/hostfile
+                             ${CMAKE_CURRENT_SOURCE_DIR}/checktests
+                             ${CMAKE_CURRENT_SOURCE_DIR}/generate_report
+                             ${CMAKE_CURRENT_SOURCE_DIR}/util/dtypes.c
+                             ${CMAKE_CURRENT_SOURCE_DIR}/util/mtest.c
+                             ${CMAKE_CURRENT_SOURCE_DIR}/util/mtestcheck.c
+                             ${CMAKE_CURRENT_SOURCE_DIR}/util/mtest_datatype.c
+                             ${CMAKE_CURRENT_SOURCE_DIR}/util/mtest_datatype_gen.c
+                             ${CMAKE_CURRENT_SOURCE_DIR}/f77/testlist
+                             ${CMAKE_CURRENT_SOURCE_DIR}/f90/testlist
+                             ${CMAKE_CURRENT_SOURCE_DIR}/include/dtypes.h
+                             ${CMAKE_CURRENT_SOURCE_DIR}/include/mpicolltest.h
+                             ${CMAKE_CURRENT_SOURCE_DIR}/include/mpitestconf.h
+                             ${CMAKE_CURRENT_SOURCE_DIR}/include/mpitestcxx.h
+                             ${CMAKE_CURRENT_SOURCE_DIR}/include/mpitest.h
+                             ${CMAKE_CURRENT_SOURCE_DIR}/include/mtest_datatype.h
+                             ${CMAKE_CURRENT_SOURCE_DIR}/include/mpitest.h                            PARENT_SCOPE)
 
 #build only once files used in each test (C version compiled here at root, F77 is in f77/util, and F90 in F90/util)
 
-if(WIN32)
-  set(CMAKE_C_FLAGS "-include ${CMAKE_HOME_DIRECTORY}/include/smpi/smpi_main.h")
-else()
-  set(CMAKE_C_COMPILER "${CMAKE_BINARY_DIR}/smpi_script/bin/smpicc")
-endif()
+set(CMAKE_C_COMPILER "${CMAKE_BINARY_DIR}/smpi_script/bin/smpicc")
 
 include_directories("${CMAKE_HOME_DIRECTORY}/include/smpi")
 include_directories("${CMAKE_CURRENT_SOURCE_DIR}/include/")
 
-if(enable_smpi AND enable_smpi_MPICH3_testsuite)
-#C version - use automatic privatization if mmap is supported, manual through SMPI macros if not
+if(enable_smpi AND enable_testsuite_smpi_MPICH3)
   if(HAVE_PRIVATIZATION)
-    add_library(mtest_c STATIC util/mtest.c)
+    add_library(mtest_c STATIC util/dtypes.c util/mtest.c  util/mtestcheck.c  util/mtest_datatype.c util/mtest_datatype_gen.c)
   else()
-    add_library(mtest_c STATIC util/mtest_manual.c)
+    message(FATAL_ERROR "MPICH testsuite needs privatization. Use a modern OS.")
   endif()
 endif()
+
+IF(enable_testsuite_smpi_MPICH3 AND SMPI_FORTRAN)
+  ADD_TEST(test-smpi-mpich3-thread-f77     ${CMAKE_COMMAND} -E chdir ${CMAKE_BINARY_DIR}/teshsuite/smpi/mpich3-test/f77/ ${PERL_EXECUTABLE} ${CMAKE_HOME_DIRECTORY}/teshsuite/smpi/mpich3-test/runtests "-wrapper=${VALGRIND_WRAPPER}" -mpiexec=${CMAKE_BINARY_DIR}/smpi_script/bin/smpirun -srcdir=${CMAKE_HOME_DIRECTORY}/teshsuite/smpi/mpich3-test/f77/ -tests=testlist -privatization=${HAVE_PRIVATIZATION} -execarg=--cfg=contexts/stack-size:8000 -execarg=--cfg=contexts/factory:thread -execarg=--cfg=smpi/privatization:${HAVE_PRIVATIZATION})
+  SET_TESTS_PROPERTIES(test-smpi-mpich3-thread-f77 PROPERTIES PASS_REGULAR_EXPRESSION "tests passed!")
+  ADD_TEST(test-smpi-mpich3-thread-f90     ${CMAKE_COMMAND} -E chdir ${CMAKE_BINARY_DIR}/teshsuite/smpi/mpich3-test/f90/ ${PERL_EXECUTABLE} ${CMAKE_HOME_DIRECTORY}/teshsuite/smpi/mpich3-test/runtests "-wrapper=${VALGRIND_WRAPPER}" -mpiexec=${CMAKE_BINARY_DIR}/smpi_script/bin/smpirun -srcdir=${CMAKE_HOME_DIRECTORY}/teshsuite/smpi/mpich3-test/f90/ -tests=testlist -privatization=${HAVE_PRIVATIZATION} -execarg=--cfg=smpi/privatization:${HAVE_PRIVATIZATION} -execarg=--cfg=contexts/factory:thread)
+  SET_TESTS_PROPERTIES(test-smpi-mpich3-thread-f90 PROPERTIES PASS_REGULAR_EXPRESSION "tests passed!")
+ENDIF()