Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Sort the model tests a bit better
[simgrid.git] / teshsuite / s4u / CMakeLists.txt
1 foreach(x actor actor-autorestart actor-suspend
2         activity-lifecycle
3         comm-get-sender comm-pt2pt wait-any-for
4         cloud-interrupt-migration cloud-two-execs
5         concurrent_rw 
6         host-on-off host-on-off-actors host-on-off-recv
7         basic-link-test evaluate-get-route-time evaluate-parse-time is-router
8         storage_client_server listen_async pid
9         trace-integration
10         vm-live-migration)
11   add_executable       (${x}  EXCLUDE_FROM_ALL ${x}/${x}.cpp)
12   target_link_libraries(${x}  simgrid)
13   set_target_properties(${x}  PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/${x})
14   add_dependencies(tests ${x})
15
16   set(teshsuite_src ${teshsuite_src} ${CMAKE_CURRENT_SOURCE_DIR}/${x}/${x}.cpp)
17 endforeach()
18
19 # Fix build rules for activity-lifecycle (multi-file)
20 foreach(x sleep exec comm test-wait)
21   target_sources(activity-lifecycle PRIVATE activity-lifecycle/testing_${x}.cpp)
22   set(teshsuite_src ${teshsuite_src} ${CMAKE_CURRENT_SOURCE_DIR}/activity-lifecycle/testing_${x}.cpp)
23 endforeach()
24 set_property(TARGET activity-lifecycle APPEND PROPERTY INCLUDE_DIRECTORIES "${INTERNAL_INCLUDES}") # for <catch.hpp>
25
26 ## Add the tests.
27 ## Some need to be run with all factories, some don't need tesh to run
28 foreach(x actor actor-autorestart actor-suspend
29         activity-lifecycle comm-get-sender wait-any-for
30         cloud-interrupt-migration cloud-two-execs concurrent_rw
31         vm-live-migration)
32   set(tesh_files    ${tesh_files}    ${CMAKE_CURRENT_SOURCE_DIR}/${x}/${x}.tesh)
33   ADD_TESH_FACTORIES(tesh-s4u-${x} "thread;ucontext;raw;boost" --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)
34 endforeach()
35
36 foreach(x basic-link-test host-on-off host-on-off-actors host-on-off-recv is-router listen_async pid storage_client_server trace-integration)
37   set(tesh_files    ${tesh_files}    ${CMAKE_CURRENT_SOURCE_DIR}/${x}/${x}.tesh)
38   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)
39 endforeach()
40
41 # The output is not relevant
42 ADD_TEST(tesh-s4u-comm-pt2pt    ${CMAKE_BINARY_DIR}/teshsuite/s4u/comm-pt2pt/comm-pt2pt    ${CMAKE_HOME_DIRECTORY}/examples/platforms/cluster_backbone.xml)
43
44 if(enable_coverage)
45   foreach (example evaluate-get-route-time evaluate-parse-time)
46     ADD_TEST(cover-${example} ${CMAKE_CURRENT_BINARY_DIR}/${example}/${example} ${CMAKE_HOME_DIRECTORY}/examples/platforms/g5k.xml)
47   endforeach()
48 endif()
49
50 # NS-3 specific tests
51 if(SIMGRID_HAVE_NS3)
52   foreach(x ns3-simultaneous-send-rcv ns3-from-src-to-itself)
53     add_executable       (${x}  EXCLUDE_FROM_ALL ${x}/${x}.cpp)
54     target_link_libraries(${x}  simgrid)
55     set_target_properties(${x}  PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/${x})
56     add_dependencies(tests ${x})
57     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)
58   endforeach()
59 endif()
60
61 foreach(x ns3-simultaneous-send-rcv ns3-from-src-to-itself)
62   set(teshsuite_src ${teshsuite_src} ${CMAKE_CURRENT_SOURCE_DIR}/${x}/${x}.cpp)
63   set(tesh_files    ${tesh_files}    ${CMAKE_CURRENT_SOURCE_DIR}/${x}/${x}.tesh)
64 endforeach()
65
66 set(teshsuite_src ${teshsuite_src}  ${CMAKE_CURRENT_SOURCE_DIR}/activity-lifecycle/activity-lifecycle.hpp PARENT_SCOPE)
67 set(tesh_files    ${tesh_files}     PARENT_SCOPE)
68 set(xml_files     ${xml_files}      ${CMAKE_CURRENT_SOURCE_DIR}/activity-lifecycle/testing_platform.xml
69                                     ${CMAKE_CURRENT_SOURCE_DIR}/trace-integration/test-hbp1.0-hbp1.0-hbp1.0.xml
70                                     ${CMAKE_CURRENT_SOURCE_DIR}/trace-integration/test-hbp1.0-hbp3.0-hbp4.0.xml
71                                     ${CMAKE_CURRENT_SOURCE_DIR}/trace-integration/test-hbp1.5-hbp1.5.xml
72                                     ${CMAKE_CURRENT_SOURCE_DIR}/trace-integration/test-hbp1-c0s0-c0s1.xml
73                                     ${CMAKE_CURRENT_SOURCE_DIR}/trace-integration/test-hbp1-c0s0-c1s0.xml
74                                     ${CMAKE_CURRENT_SOURCE_DIR}/trace-integration/test-hbp1-c0s1-c0s2.xml
75                                     ${CMAKE_CURRENT_SOURCE_DIR}/trace-integration/test-hbp1-c0s1-c2s2.xml
76                                     ${CMAKE_CURRENT_SOURCE_DIR}/trace-integration/test-hbp1-c0s2-c1s0.xml
77                                     ${CMAKE_CURRENT_SOURCE_DIR}/trace-integration/test-hbp1-c0s2-c1s1.xml
78                                     ${CMAKE_CURRENT_SOURCE_DIR}/trace-integration/test-hbp1-c1s1-c1s2.xml
79                                     ${CMAKE_CURRENT_SOURCE_DIR}/trace-integration/test-hbp1-c1s1-c3s2.xml
80                                     ${CMAKE_CURRENT_SOURCE_DIR}/trace-integration/test-hbp2.5-hbp1.5.xml
81                                     ${CMAKE_CURRENT_SOURCE_DIR}/vm-live-migration/platform.xml
82                                     PARENT_SCOPE)