Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
f595f37050f07dc588b7465b866efb4f82eb84c4
[simgrid.git] / teshsuite / s4u / CMakeLists.txt
1 # Specify the source files of multi-files tests
2 set(activity-lifecycle_sources ../catch_simgrid.cpp)
3 foreach(x sleep exec comm comm_direct test-wait)
4   set(activity-lifecycle_sources ${activity-lifecycle_sources} activity-lifecycle/testing_${x}.cpp)
5 endforeach()
6
7 foreach(x actor actor-autorestart actor-suspend
8         activity-lifecycle
9         comm-get-sender comm-pt2pt wait-all-for wait-any-for
10         cloud-interrupt-migration cloud-two-execs
11         monkey-masterworkers
12         concurrent_rw
13         dag-incomplete-simulation dependencies
14         host-on-off host-on-off-actors host-on-off-recv host-multicore-speed-file io-set-bw
15         basic-link-test basic-parsing-test evaluate-get-route-time evaluate-parse-time is-router
16         storage_client_server listen_async pid
17         trace-integration
18         seal-platform
19               vm-live-migration vm-suicide issue71)
20
21   if(NOT DEFINED ${x}_sources)
22       set(${x}_sources ${x}/${x}.cpp)
23   endif()
24           
25   add_executable       (${x}  EXCLUDE_FROM_ALL ${${x}_sources})
26   target_link_libraries(${x}  simgrid)
27   set_target_properties(${x}  PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/${x})
28   add_dependencies(tests ${x})
29
30   foreach(file ${${x}_sources})
31     set(teshsuite_src  ${teshsuite_src} ${CMAKE_CURRENT_SOURCE_DIR}/${file})
32   endforeach()
33
34   unset(${x}_sources)
35 endforeach()
36 set_property(TARGET activity-lifecycle APPEND PROPERTY INCLUDE_DIRECTORIES "${INTERNAL_INCLUDES}") # for <catch.hpp> and catch_simgrid
37
38
39 ## Add the tests.
40 ## Some need to be run with all factories, some don't need tesh to run
41 foreach(x actor actor-autorestart actor-suspend activity-lifecycle comm-get-sender wait-all-for wait-any-for
42         cloud-interrupt-migration cloud-two-execs concurrent_rw dag-incomplete-simulation dependencies io-set-bw
43               vm-live-migration vm-suicide)
44   set(tesh_files    ${tesh_files}    ${CMAKE_CURRENT_SOURCE_DIR}/${x}/${x}.tesh)
45   ADD_TESH_FACTORIES(tesh-s4u-${x} "*" --setenv bindir=${CMAKE_BINARY_DIR}/teshsuite/s4u/${x} --setenv srcdir=${CMAKE_HOME_DIRECTORY}/teshsuite/s4u/${x} --setenv platfdir=${CMAKE_HOME_DIRECTORY}/examples/platforms --cd ${CMAKE_BINARY_DIR}/teshsuite/s4u/${x} ${CMAKE_HOME_DIRECTORY}/teshsuite/s4u/${x}/${x}.tesh)
46 endforeach()
47
48 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
49         monkey-masterworkers
50         pid storage_client_server trace-integration seal-platform issue71)
51   set(tesh_files    ${tesh_files}    ${CMAKE_CURRENT_SOURCE_DIR}/${x}/${x}.tesh)
52   ADD_TESH(tesh-s4u-${x}
53            --setenv bindir=${CMAKE_BINARY_DIR}/teshsuite/s4u/${x}
54            --setenv srcdir=${CMAKE_CURRENT_SOURCE_DIR}/${x}
55            --setenv rootdir=${CMAKE_HOME_DIRECTORY}
56            --setenv platfdir=${CMAKE_HOME_DIRECTORY}/examples/platforms
57            --cd ${CMAKE_BINARY_DIR}/teshsuite/s4u/${x}
58            ${CMAKE_HOME_DIRECTORY}/teshsuite/s4u/${x}/${x}.tesh)
59 endforeach()
60
61 # Python tesh tests
62 foreach(x monkey-masterworkers)
63   set(tesh_files    ${tesh_files}    ${CMAKE_CURRENT_SOURCE_DIR}/${x}/${x}.py.tesh)
64   set(teshsuite_src ${teshsuite_src} ${CMAKE_CURRENT_SOURCE_DIR}/${x}/${x}.py)
65
66   if(enable_python)
67     ADD_TESH(tesh-python-${x}
68              --setenv srcdir=${CMAKE_CURRENT_SOURCE_DIR}/${x}
69              --setenv pythoncmd=${PYTHON_EXECUTABLE}
70              --setenv LD_LIBRARY_PATH=${TESH_LIBRARY_PATH}
71              --setenv PYTHONPATH=${CMAKE_BINARY_DIR}/lib
72              --setenv platfdir=${CMAKE_HOME_DIRECTORY}/examples/platforms
73              --cd ${CMAKE_BINARY_DIR}/teshsuite/s4u/${x}
74              ${CMAKE_HOME_DIRECTORY}/teshsuite/s4u/${x}/${x}.py.tesh)
75
76   endif()
77 endforeach()
78
79
80 # Monkey tests are launched directly, not with tesh
81 foreach(x  monkey-masterworkers)
82   ADD_TEST(monkey-s4u-${x} "${PYTHON_EXECUTABLE}" ${CMAKE_HOME_DIRECTORY}/tools/simgrid-monkey ${CMAKE_BINARY_DIR}/teshsuite/s4u/${x}/${x})
83   if(enable_python)
84     ADD_TEST(monkey-python-${x} "${PYTHON_EXECUTABLE}" ${CMAKE_HOME_DIRECTORY}/tools/simgrid-monkey "${PYTHON_EXECUTABLE}" ${CMAKE_CURRENT_SOURCE_DIR}/${x}/${x}.py)
85     set_tests_properties(monkey-python-${x} PROPERTIES ENVIRONMENT "PYTHONPATH=${CMAKE_BINARY_DIR}/lib")
86   endif()
87 endforeach()
88
89
90 # The output is not relevant
91 ADD_TEST(tesh-s4u-comm-pt2pt    ${CMAKE_BINARY_DIR}/teshsuite/s4u/comm-pt2pt/comm-pt2pt    ${CMAKE_HOME_DIRECTORY}/examples/platforms/cluster_backbone.xml)
92
93 if(enable_coverage)
94   foreach (example evaluate-get-route-time evaluate-parse-time)
95     ADD_TEST(cover-${example} ${CMAKE_CURRENT_BINARY_DIR}/${example}/${example} ${CMAKE_HOME_DIRECTORY}/examples/platforms/g5k.xml)
96   endforeach()
97 endif()
98
99 # NS-3 specific tests
100 if(SIMGRID_HAVE_NS3)
101   foreach(x ns3-simultaneous-send-rcv ns3-from-src-to-itself)
102     add_executable       (${x}  EXCLUDE_FROM_ALL ${x}/${x}.cpp)
103     target_link_libraries(${x}  simgrid)
104     set_target_properties(${x}  PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/${x})
105     add_dependencies(tests ${x})
106     ADD_TESH(tesh-s4u-${x} --setenv srcdir=${CMAKE_HOME_DIRECTORY}/teshsuite/s4u/${x} --setenv platfdir=${CMAKE_HOME_DIRECTORY}/examples/platforms --cd ${CMAKE_BINARY_DIR}/teshsuite/s4u/${x} ${CMAKE_HOME_DIRECTORY}/teshsuite/s4u/${x}/${x}.tesh)
107   endforeach()
108 endif()
109
110 foreach(x ns3-simultaneous-send-rcv ns3-from-src-to-itself)
111   set(teshsuite_src ${teshsuite_src} ${CMAKE_CURRENT_SOURCE_DIR}/${x}/${x}.cpp)
112   set(tesh_files    ${tesh_files}    ${CMAKE_CURRENT_SOURCE_DIR}/${x}/${x}.tesh)
113 endforeach()
114
115 # test for code coverage
116 ADD_TEST(test-help-version ${TESH_WRAPPER_UNBOXED} ${CMAKE_BINARY_DIR}/teshsuite/s4u/basic-parsing-test/basic-parsing-test
117   --version --help --help-aliases --help-models --help-tracing)
118 ADD_TEST(test-help-logs    ${TESH_WRAPPER_UNBOXED} ${CMAKE_BINARY_DIR}/teshsuite/s4u/basic-parsing-test/basic-parsing-test
119   --help-logs --help-log-categories)
120
121 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)
122 ADD_TESH(tesh-parser-sym-full --setenv bindir=${CMAKE_BINARY_DIR}/teshsuite/s4u/basic-parsing-test --cd ${CMAKE_HOME_DIRECTORY}/teshsuite/s4u/basic-parsing-test basic-parsing-test-sym-full.tesh)
123
124 ADD_TEST(tesh-parser-full-links01    ${CMAKE_BINARY_DIR}/teshsuite/s4u/basic-parsing-test/basic-parsing-test ${CMAKE_HOME_DIRECTORY}/teshsuite/platforms/two_clusters.xml FULL_LINK)
125 ADD_TEST(tesh-parser-full-links02    ${CMAKE_BINARY_DIR}/teshsuite/s4u/basic-parsing-test/basic-parsing-test ${CMAKE_HOME_DIRECTORY}/teshsuite/platforms/two_clusters_one_name.xml FULL_LINK)
126 ADD_TEST(tesh-parser-one-link-g5k    ${CMAKE_BINARY_DIR}/teshsuite/s4u/basic-parsing-test/basic-parsing-test ${CMAKE_HOME_DIRECTORY}/examples/platforms/g5k.xml ONE_LINK)
127
128 set(teshsuite_src ${teshsuite_src}  ${CMAKE_SOURCE_DIR}/src/include/catch_simgrid.hpp PARENT_SCOPE)
129 set(tesh_files    ${tesh_files}     ${CMAKE_CURRENT_SOURCE_DIR}/basic-parsing-test/basic-parsing-test-sym-full.tesh
130                                     ${CMAKE_CURRENT_SOURCE_DIR}/basic-parsing-test/basic-parsing-test-bypass.tesh PARENT_SCOPE)
131 set(xml_files     ${xml_files}      ${CMAKE_CURRENT_SOURCE_DIR}/activity-lifecycle/testing_platform.xml
132                                     ${CMAKE_CURRENT_SOURCE_DIR}/trace-integration/test-hbp1.0-hbp1.0-hbp1.0.xml
133                                     ${CMAKE_CURRENT_SOURCE_DIR}/trace-integration/test-hbp1.0-hbp3.0-hbp4.0.xml
134                                     ${CMAKE_CURRENT_SOURCE_DIR}/trace-integration/test-hbp1.5-hbp1.5.xml
135                                     ${CMAKE_CURRENT_SOURCE_DIR}/trace-integration/test-hbp1-c0s0-c0s1.xml
136                                     ${CMAKE_CURRENT_SOURCE_DIR}/trace-integration/test-hbp1-c0s0-c1s0.xml
137                                     ${CMAKE_CURRENT_SOURCE_DIR}/trace-integration/test-hbp1-c0s1-c0s2.xml
138                                     ${CMAKE_CURRENT_SOURCE_DIR}/trace-integration/test-hbp1-c0s1-c2s2.xml
139                                     ${CMAKE_CURRENT_SOURCE_DIR}/trace-integration/test-hbp1-c0s2-c1s0.xml
140                                     ${CMAKE_CURRENT_SOURCE_DIR}/trace-integration/test-hbp1-c0s2-c1s1.xml
141                                     ${CMAKE_CURRENT_SOURCE_DIR}/trace-integration/test-hbp1-c1s1-c1s2.xml
142                                     ${CMAKE_CURRENT_SOURCE_DIR}/trace-integration/test-hbp1-c1s1-c3s2.xml
143                                     ${CMAKE_CURRENT_SOURCE_DIR}/trace-integration/test-hbp2.5-hbp1.5.xml
144                                     ${CMAKE_CURRENT_SOURCE_DIR}/vm-live-migration/platform.xml
145                                     ${CMAKE_CURRENT_SOURCE_DIR}/issue71/platform_bad.xml
146                                     PARENT_SCOPE)