Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Suppress trailing whitespaces.
[simgrid.git] / teshsuite / s4u / CMakeLists.txt
index 86987b7..673804c 100644 (file)
@@ -8,7 +8,7 @@ foreach(x actor actor-autorestart actor-suspend
         activity-lifecycle
         comm-get-sender comm-pt2pt wait-all-for wait-any-for
         cloud-interrupt-migration cloud-two-execs
-       monkey-masterworkers
+       monkey-masterworkers monkey-semaphore
         concurrent_rw
         dag-incomplete-simulation dependencies
         host-on-off host-on-off-actors host-on-off-recv host-multicore-speed-file io-set-bw
@@ -21,7 +21,7 @@ foreach(x actor actor-autorestart actor-suspend
   if(NOT DEFINED ${x}_sources)
       set(${x}_sources ${x}/${x}.cpp)
   endif()
-         
+
   add_executable       (${x}  EXCLUDE_FROM_ALL ${${x}_sources})
   target_link_libraries(${x}  simgrid)
   set_target_properties(${x}  PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/${x})
@@ -46,18 +46,49 @@ foreach(x actor actor-autorestart actor-suspend activity-lifecycle comm-get-send
 endforeach()
 
 foreach(x basic-link-test basic-parsing-test host-on-off host-on-off-actors host-on-off-recv host-multicore-speed-file is-router listen_async
-        monkey-masterworkers
+        monkey-masterworkers monkey-semaphore
         pid storage_client_server trace-integration seal-platform issue71)
   set(tesh_files    ${tesh_files}    ${CMAKE_CURRENT_SOURCE_DIR}/${x}/${x}.tesh)
-  ADD_TESH(tesh-s4u-${x} --setenv bindir=${CMAKE_BINARY_DIR}/teshsuite/s4u/${x} --setenv srcdir=${CMAKE_HOME_DIRECTORY}/teshsuite/s4u/${x} --setenv rootdir=${CMAKE_HOME_DIRECTORY} --setenv platfdir=${CMAKE_HOME_DIRECTORY}/examples/platforms --cd ${CMAKE_BINARY_DIR}/teshsuite/s4u/${x} ${CMAKE_HOME_DIRECTORY}/teshsuite/s4u/${x}/${x}.tesh)
+  ADD_TESH(tesh-s4u-${x}
+           --setenv bindir=${CMAKE_BINARY_DIR}/teshsuite/s4u/${x}
+           --setenv srcdir=${CMAKE_CURRENT_SOURCE_DIR}/${x}
+           --setenv rootdir=${CMAKE_HOME_DIRECTORY}
+           --setenv platfdir=${CMAKE_HOME_DIRECTORY}/examples/platforms
+           --cd ${CMAKE_BINARY_DIR}/teshsuite/s4u/${x}
+           ${CMAKE_HOME_DIRECTORY}/teshsuite/s4u/${x}/${x}.tesh)
 endforeach()
 
-# Monkey tests are launched directly, not with tesh
-foreach(x  monkey-masterworkers)
-  ADD_TEST(monkey-s4u-${x} "${PYTHON_EXECUTABLE}" ${CMAKE_HOME_DIRECTORY}/tools/simgrid-monkey ${CMAKE_BINARY_DIR}/teshsuite/s4u/${x}/${x})
+# Python tesh tests
+foreach(x monkey-masterworkers)
+  set(tesh_files    ${tesh_files}    ${CMAKE_CURRENT_SOURCE_DIR}/${x}/${x}.py.tesh)
+  set(teshsuite_src ${teshsuite_src} ${CMAKE_CURRENT_SOURCE_DIR}/${x}/${x}.py)
+
+  if(enable_python)
+    ADD_TESH(tesh-python-${x}
+             --setenv srcdir=${CMAKE_CURRENT_SOURCE_DIR}/${x}
+             --setenv pythoncmd=${PYTHON_EXECUTABLE}
+             --setenv LD_LIBRARY_PATH=${TESH_LIBRARY_PATH}
+             --setenv PYTHONPATH=${CMAKE_BINARY_DIR}/lib
+             --setenv platfdir=${CMAKE_HOME_DIRECTORY}/examples/platforms
+             --cd ${CMAKE_BINARY_DIR}/teshsuite/s4u/${x}
+             ${CMAKE_HOME_DIRECTORY}/teshsuite/s4u/${x}/${x}.py.tesh)
+
+  endif()
 endforeach()
 
 
+# Monkey tests are launched directly, not with tesh
+set(_monkey-semaphore_disable_python 1) # Semaphore not exposed to python
+foreach(x  monkey-masterworkers monkey-semaphore)
+  ADD_TEST(monkey-s4u-${x} "${PYTHON_EXECUTABLE}" ${CMAKE_HOME_DIRECTORY}/tools/simgrid-monkey -- ${VALGRIND_WRAPPER_UNBOXED} ${CMAKE_BINARY_DIR}/teshsuite/s4u/${x}/${x})
+  if(enable_python)
+    if(NOT DEFINED _${x}_disable_python)
+      ADD_TEST(monkey-python-${x} "${PYTHON_EXECUTABLE}" ${CMAKE_HOME_DIRECTORY}/tools/simgrid-monkey "${PYTHON_EXECUTABLE}" ${CMAKE_CURRENT_SOURCE_DIR}/${x}/${x}.py)
+      set_tests_properties(monkey-python-${x} PROPERTIES ENVIRONMENT "PYTHONPATH=${CMAKE_BINARY_DIR}/lib")
+    endif()
+  endif()
+endforeach()
+
 # The output is not relevant
 ADD_TEST(tesh-s4u-comm-pt2pt    ${CMAKE_BINARY_DIR}/teshsuite/s4u/comm-pt2pt/comm-pt2pt    ${CMAKE_HOME_DIRECTORY}/examples/platforms/cluster_backbone.xml)
 
@@ -84,9 +115,9 @@ foreach(x ns3-simultaneous-send-rcv ns3-from-src-to-itself)
 endforeach()
 
 # test for code coverage
-ADD_TEST(test-help-version ${TESH_WRAPPER_UNBOXED} ${CMAKE_BINARY_DIR}/teshsuite/s4u/basic-parsing-test/basic-parsing-test
+ADD_TEST(test-help-version ${VALGRIND_WRAPPER_UNBOXED} ${CMAKE_BINARY_DIR}/teshsuite/s4u/basic-parsing-test/basic-parsing-test
   --version --help --help-aliases --help-models --help-tracing)
-ADD_TEST(test-help-logs    ${TESH_WRAPPER_UNBOXED} ${CMAKE_BINARY_DIR}/teshsuite/s4u/basic-parsing-test/basic-parsing-test
+ADD_TEST(test-help-logs    ${VALGRIND_WRAPPER_UNBOXED} ${CMAKE_BINARY_DIR}/teshsuite/s4u/basic-parsing-test/basic-parsing-test
   --help-logs --help-log-categories)
 
 ADD_TESH(tesh-parser-bypass   --setenv bindir=${CMAKE_BINARY_DIR}/teshsuite/s4u/basic-parsing-test --cd ${CMAKE_HOME_DIRECTORY}/teshsuite/s4u/basic-parsing-test --setenv srcdir=${CMAKE_HOME_DIRECTORY} basic-parsing-test-bypass.tesh)