Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Support for Fortran code in SMPI based on f2c, some perl and some dirty hacks.
[simgrid.git] / buildtools / Cmake / AddTests.cmake
1 ### Be sure we can execut some launch file
2 exec_program("chmod a=rwx ${PROJECT_DIRECTORY}/buildtools/Cmake/test_java.sh" OUTPUT_VARIABLE "OKITOKI")
3 if(enable_smpi)
4         exec_program("chmod a=rwx ${CMAKE_BINARY_DIR}/bin/smpicc" OUTPUT_VARIABLE "OKITOKI")
5         exec_program("chmod a=rwx ${CMAKE_BINARY_DIR}/bin/smpif2c" OUTPUT_VARIABLE "OKITOKI")
6         exec_program("chmod a=rwx ${CMAKE_BINARY_DIR}/bin/smpiff" OUTPUT_VARIABLE "OKITOKI")
7         exec_program("chmod a=rwx ${CMAKE_BINARY_DIR}/bin/smpirun" OUTPUT_VARIABLE "OKITOKI")
8 endif(enable_smpi)
9
10 if(enable_memcheck)
11         exec_program("valgrind --version " OUTPUT_VARIABLE "VALGRIND_VERSION")
12         if(VALGRIND_VERSION AND PERL_EXECUTABLE)
13                 string(REGEX MATCH "[0-9].[0-9].[0-9]" NEW_VALGRIND_VERSION "${VALGRIND_VERSION}")
14                 if(NEW_VALGRIND_VERSION)
15                         exec_program("${PROJECT_DIRECTORY}/buildtools/Cmake/generate_memcheck_tests.pl ${PROJECT_DIRECTORY} ${PROJECT_DIRECTORY}/buildtools/Cmake/AddTests.cmake > ${PROJECT_DIRECTORY}/buildtools/Cmake/memcheck_tests.cmake")
16                 else(NEW_VALGRIND_VERSION)
17                         set(enable_memcheck false)
18                         message("Command valgrind not found --> enable_memcheck autoset to false.")
19                 endif(NEW_VALGRIND_VERSION)
20         else(VALGRIND_VERSION AND PERL_EXECUTABLE)
21                 set(enable_memcheck false)
22                 message(FATAL_ERROR "Command valgrind or perl not found --> enable_memcheck autoset to false.")
23         endif(VALGRIND_VERSION AND PERL_EXECUTABLE)
24 endif(enable_memcheck)
25
26 ### For code coverage
27 ### Set some variables
28 SET(UPDATE_TYPE "svn")
29 SET(DROP_METHOD "http")
30 SET(DROP_SITE "cdash.inria.fr/CDash")
31 SET(DROP_LOCATION "/submit.php?project=${PROJECT_NAME}")
32 SET(DROP_SITE_CDASH TRUE)
33 SET(TRIGGER_SITE "http://cdash.inria.fr/CDash/cgi-bin/Submit-Random-TestingResults.cgi")
34 set(MEMORYCHECK_COMMAND_OPTIONS "--trace-children=yes --leak-check=full --show-reachable=yes --track-origins=yes --read-var-info=no")
35 SET(VALGRIND_COMMAND "${PROJECT_DIRECTORY}/buildtools/Cmake/my_valgrind.pl")
36 SET(MEMORYCHECK_COMMAND "${PROJECT_DIRECTORY}/buildtools/Cmake/my_valgrind.pl")
37 #If you use the --read-var-info option Memcheck will run more slowly but may give a more detailed description of any illegal address.
38
39 INCLUDE(CTest)
40 ENABLE_TESTING()
41
42 if(NOT enable_memcheck)
43 ADD_TEST(tesh-self-basic                ${CMAKE_BINARY_DIR}/bin/tesh --cd "${PROJECT_DIRECTORY}/tools/tesh" basic.tesh)
44 ADD_TEST(tesh-self-cd                   ${CMAKE_BINARY_DIR}/bin/tesh --cd "${CMAKE_BINARY_DIR}/bin" ${PROJECT_DIRECTORY}/tools/tesh/cd.tesh)
45 ADD_TEST(tesh-self-IO-broken-pipe       ${CMAKE_BINARY_DIR}/bin/tesh --cd "${PROJECT_DIRECTORY}/tools/tesh" IO-broken-pipe.tesh)
46 ADD_TEST(tesh-self-IO-orders            ${CMAKE_BINARY_DIR}/bin/tesh --cd "${CMAKE_BINARY_DIR}/bin" ${PROJECT_DIRECTORY}/tools/tesh/IO-orders.tesh)
47 ADD_TEST(tesh-self-IO-bigsize           ${CMAKE_BINARY_DIR}/bin/tesh --cd "${PROJECT_DIRECTORY}/tools/tesh" IO-bigsize.tesh)
48 ADD_TEST(tesh-self-set-return           ${CMAKE_BINARY_DIR}/bin/tesh --cd "${PROJECT_DIRECTORY}/tools/tesh" set-return.tesh)
49 ADD_TEST(tesh-self-set-signal           ${CMAKE_BINARY_DIR}/bin/tesh --cd "${PROJECT_DIRECTORY}/tools/tesh" set-signal.tesh)
50 ADD_TEST(tesh-self-set-timeout          ${CMAKE_BINARY_DIR}/bin/tesh --cd "${PROJECT_DIRECTORY}/tools/tesh" set-timeout.tesh)
51 ADD_TEST(tesh-self-set-ignore-output    ${CMAKE_BINARY_DIR}/bin/tesh --cd "${CMAKE_BINARY_DIR}/bin" ${PROJECT_DIRECTORY}/tools/tesh/set-ignore-output.tesh)
52 ADD_TEST(tesh-self-catch-return         ${CMAKE_BINARY_DIR}/bin/tesh --cd "${CMAKE_BINARY_DIR}/bin" ${PROJECT_DIRECTORY}/tools/tesh/catch-return.tesh)
53 ADD_TEST(tesh-self-catch-signal         ${CMAKE_BINARY_DIR}/bin/tesh --cd "${CMAKE_BINARY_DIR}/bin" ${PROJECT_DIRECTORY}/tools/tesh/catch-signal.tesh)
54 ADD_TEST(tesh-self-catch-timeout        ${CMAKE_BINARY_DIR}/bin/tesh --cd "${CMAKE_BINARY_DIR}/bin" ${PROJECT_DIRECTORY}/tools/tesh/catch-timeout.tesh)
55 ADD_TEST(tesh-self-catch-wrong-output   ${CMAKE_BINARY_DIR}/bin/tesh --cd "${CMAKE_BINARY_DIR}/bin" ${PROJECT_DIRECTORY}/tools/tesh/catch-wrong-output.tesh)
56 ADD_TEST(tesh-self-bg-basic             ${CMAKE_BINARY_DIR}/bin/tesh --cd "${PROJECT_DIRECTORY}/tools/tesh" bg-basic.tesh)
57 ADD_TEST(tesh-self-bg-set-signal        ${CMAKE_BINARY_DIR}/bin/tesh --cd "${PROJECT_DIRECTORY}/tools/tesh" bg-set-signal.tesh)
58 ADD_TEST(tesh-self-background           ${CMAKE_BINARY_DIR}/bin/tesh --cd "${PROJECT_DIRECTORY}/tools/tesh" background.tesh)
59
60 # BEGIN TESH TESTS
61
62 # teshsuite/xbt
63 ADD_TEST(tesh-log-large         ${CMAKE_BINARY_DIR}/bin/tesh --cd ${PROJECT_DIRECTORY}/teshsuite xbt/log_large_test.tesh)
64 ADD_TEST(tesh-log-parallel      ${CMAKE_BINARY_DIR}/bin/tesh --cd ${PROJECT_DIRECTORY}/teshsuite xbt/parallel_log_crashtest.tesh)
65
66 # teshsuite/gras/datadesc directory
67 ADD_TEST(tesh-gras-dd-mem       ${CMAKE_BINARY_DIR}/bin/tesh --cd ${PROJECT_DIRECTORY}/teshsuite gras/datadesc/datadesc_mem.tesh)
68 ADD_TEST(tesh-gras-dd-rw        ${CMAKE_BINARY_DIR}/bin/tesh --cd ${PROJECT_DIRECTORY}/teshsuite gras/datadesc/datadesc_rw.tesh)
69 ADD_TEST(tesh-gras-dd-r_little32_4      ${CMAKE_BINARY_DIR}/bin/tesh --cd ${PROJECT_DIRECTORY}/teshsuite gras/datadesc/datadesc_r_little32_4.tesh)
70 ADD_TEST(tesh-gras-dd-r_little64        ${CMAKE_BINARY_DIR}/bin/tesh --cd ${PROJECT_DIRECTORY}/teshsuite gras/datadesc/datadesc_r_little64.tesh)
71 ADD_TEST(tesh-gras-dd-r_big32_8_4       ${CMAKE_BINARY_DIR}/bin/tesh --cd ${PROJECT_DIRECTORY}/teshsuite gras/datadesc/datadesc_r_big32_8_4.tesh)
72 ADD_TEST(tesh-gras-dd-r_big32_8         ${CMAKE_BINARY_DIR}/bin/tesh --cd ${PROJECT_DIRECTORY}/teshsuite gras/datadesc/datadesc_r_big32_8.tesh)
73 ADD_TEST(tesh-gras-dd-r_big32_2         ${CMAKE_BINARY_DIR}/bin/tesh --cd ${PROJECT_DIRECTORY}/teshsuite gras/datadesc/datadesc_r_big32_2.tesh)
74
75 IF(${ARCH_32_BITS})
76   ADD_TEST(tesh-gras-msg_handle-sg-32   ${CMAKE_BINARY_DIR}/bin/tesh --cd ${PROJECT_DIRECTORY}/teshsuite gras/msg_handle/test_sg_32)
77 ELSE(${ARCH_32_BITS})
78   ADD_TEST(tesh-gras-msg_handle-sg-64   ${CMAKE_BINARY_DIR}/bin/tesh --cd ${PROJECT_DIRECTORY}/teshsuite gras/msg_handle/test_sg_64)
79 ENDIF(${ARCH_32_BITS})
80
81 ADD_TEST(tesh-gras-empty_main-rl        ${CMAKE_BINARY_DIR}/bin/tesh --cd ${PROJECT_DIRECTORY}/teshsuite gras/empty_main/test_rl)
82 ADD_TEST(tesh-gras-empty_main-sg        ${CMAKE_BINARY_DIR}/bin/tesh --cd ${PROJECT_DIRECTORY}/teshsuite gras/empty_main/test_sg)
83
84 IF(${ARCH_32_BITS})
85   ADD_TEST(tesh-gras-small_sleep-sg-32  ${CMAKE_BINARY_DIR}/bin/tesh --cd ${PROJECT_DIRECTORY}/teshsuite gras/small_sleep/test_sg_32)
86 ELSE(${ARCH_32_BITS})
87   ADD_TEST(tesh-gras-small_sleep-sg-64  ${CMAKE_BINARY_DIR}/bin/tesh --cd ${PROJECT_DIRECTORY}/teshsuite gras/small_sleep/test_sg_64)
88 ENDIF(${ARCH_32_BITS})
89
90 ADD_TEST(tesh-msg-get_sender    ${CMAKE_BINARY_DIR}/bin/tesh --cd ${PROJECT_DIRECTORY}/teshsuite msg/get_sender.tesh)                               
91 ADD_TEST(tesh-simdag-reinit_costs       ${CMAKE_BINARY_DIR}/bin/tesh --cd ${PROJECT_DIRECTORY}/teshsuite simdag/network/test_reinit_costs.tesh)
92 ADD_TEST(tesh-simdag-parser             ${CMAKE_BINARY_DIR}/bin/tesh --cd ${PROJECT_DIRECTORY}/teshsuite/simdag/platforms basic_parsing_test.tesh)
93 ADD_TEST(tesh-simdag-parser-bogus-symmetric ${CMAKE_BINARY_DIR}/bin/tesh --cd ${PROJECT_DIRECTORY}/teshsuite/simdag/platforms two_hosts_asymetric.tesh)
94 ADD_TEST(tesh-simdag-parser-sym-full            ${CMAKE_BINARY_DIR}/bin/tesh --cd ${PROJECT_DIRECTORY}/teshsuite/simdag/platforms basic_parsing_test_sym_full.tesh)
95 ADD_TEST(tesh-simdag-flatifier          ${CMAKE_BINARY_DIR}/bin/tesh --cd ${PROJECT_DIRECTORY}/teshsuite/simdag/platforms flatifier.tesh)
96 ADD_TEST(tesh-simdag-full_links         ${CMAKE_BINARY_DIR}/bin/tesh --cd ${PROJECT_DIRECTORY}/teshsuite/simdag/platforms get_full_link.tesh)
97 ADD_TEST(tesh-simdag-basic0     ${CMAKE_BINARY_DIR}/bin/tesh --cd ${PROJECT_DIRECTORY}/teshsuite simdag/basic0.tesh)
98 ADD_TEST(tesh-simdag-basic1     ${CMAKE_BINARY_DIR}/bin/tesh --cd ${PROJECT_DIRECTORY}/teshsuite simdag/basic1.tesh)
99 ADD_TEST(tesh-simdag-basic2     ${CMAKE_BINARY_DIR}/bin/tesh --cd ${PROJECT_DIRECTORY}/teshsuite simdag/basic2.tesh)
100 ADD_TEST(tesh-simdag-basic3     ${CMAKE_BINARY_DIR}/bin/tesh --cd ${PROJECT_DIRECTORY}/teshsuite simdag/basic3.tesh)
101 ADD_TEST(tesh-simdag-basic4     ${CMAKE_BINARY_DIR}/bin/tesh --cd ${PROJECT_DIRECTORY}/teshsuite simdag/basic4.tesh)
102 ADD_TEST(tesh-simdag-basic5     ${CMAKE_BINARY_DIR}/bin/tesh --cd ${PROJECT_DIRECTORY}/teshsuite simdag/basic5.tesh)
103 ADD_TEST(tesh-simdag-basic6     ${CMAKE_BINARY_DIR}/bin/tesh --cd ${PROJECT_DIRECTORY}/teshsuite simdag/basic6.tesh)
104 ADD_TEST(tesh-simdag-p2p-1      ${CMAKE_BINARY_DIR}/bin/tesh --cd ${PROJECT_DIRECTORY}/teshsuite simdag/network/p2p/test_latency1.tesh)
105 ADD_TEST(tesh-simdag-p2p-2      ${CMAKE_BINARY_DIR}/bin/tesh --cd ${PROJECT_DIRECTORY}/teshsuite simdag/network/p2p/test_latency2.tesh)
106 ADD_TEST(tesh-simdag-p2p-3      ${CMAKE_BINARY_DIR}/bin/tesh --cd ${PROJECT_DIRECTORY}/teshsuite simdag/network/p2p/test_latency3.tesh)
107 ADD_TEST(tesh-simdag-p2p-3      ${CMAKE_BINARY_DIR}/bin/tesh --cd ${PROJECT_DIRECTORY}/teshsuite simdag/network/p2p/test_latency_bound.tesh)
108 ADD_TEST(tesh-simdag-mxn-1      ${CMAKE_BINARY_DIR}/bin/tesh --cd ${PROJECT_DIRECTORY}/teshsuite simdag/network/mxn/test_intra_all2all.tesh)
109 ADD_TEST(tesh-simdag-mxn-2      ${CMAKE_BINARY_DIR}/bin/tesh --cd ${PROJECT_DIRECTORY}/teshsuite simdag/network/mxn/test_intra_independent_comm.tesh)
110 ADD_TEST(tesh-simdag-mxn-3      ${CMAKE_BINARY_DIR}/bin/tesh --cd ${PROJECT_DIRECTORY}/teshsuite simdag/network/mxn/test_intra_scatter.tesh)
111 ADD_TEST(tesh-simdag-par-1      ${CMAKE_BINARY_DIR}/bin/tesh --cd ${PROJECT_DIRECTORY}/teshsuite simdag/partask/test_comp_only_seq.tesh)
112 ADD_TEST(tesh-simdag-par-2      ${CMAKE_BINARY_DIR}/bin/tesh --cd ${PROJECT_DIRECTORY}/teshsuite simdag/partask/test_comp_only_par.tesh)
113
114 # GRAS examples
115 ADD_TEST(gras-ping-rl           ${CMAKE_BINARY_DIR}/bin/tesh --cd ${PROJECT_DIRECTORY}/examples/gras/ping test_rl)
116 ADD_TEST(gras-rpc-rl            ${CMAKE_BINARY_DIR}/bin/tesh --cd ${PROJECT_DIRECTORY}/examples/gras/rpc test_rl)
117 ADD_TEST(gras-spawn-rl          ${CMAKE_BINARY_DIR}/bin/tesh --cd ${PROJECT_DIRECTORY}/examples/gras/spawn test_rl)
118 ADD_TEST(gras-timer-rl          ${CMAKE_BINARY_DIR}/bin/tesh --cd ${PROJECT_DIRECTORY}/examples/gras/timer test_rl)
119 ADD_TEST(gras-chrono-rl         ${CMAKE_BINARY_DIR}/bin/tesh --cd ${PROJECT_DIRECTORY}/examples/gras/chrono test_rl)
120 ADD_TEST(gras-simple_token-rl   ${CMAKE_BINARY_DIR}/bin/tesh --cd ${PROJECT_DIRECTORY}/examples/gras/mutual_exclusion/simple_token test_rl)
121 ADD_TEST(gras-mmrpc-rl          ${CMAKE_BINARY_DIR}/bin/tesh --cd ${PROJECT_DIRECTORY}/examples/gras/mmrpc test_rl)
122 ADD_TEST(gras-all2all-rl        ${CMAKE_BINARY_DIR}/bin/tesh --cd ${PROJECT_DIRECTORY}/examples/gras/all2all test_rl)
123 ADD_TEST(gras-pmm-rl            ${CMAKE_BINARY_DIR}/bin/tesh --cd ${PROJECT_DIRECTORY}/examples/gras/pmm test_rl)
124 ADD_TEST(gras-synchro-rl        ${CMAKE_BINARY_DIR}/bin/tesh --cd ${PROJECT_DIRECTORY}/examples/gras/synchro test_rl)
125 ADD_TEST(gras-properties-rl     ${CMAKE_BINARY_DIR}/bin/tesh --cd ${PROJECT_DIRECTORY}/examples/gras/properties test_rl)
126
127 # MSG examples
128 ADD_TEST(msg-sendrecv_CLM03     ${CMAKE_BINARY_DIR}/bin/tesh --cd ${PROJECT_DIRECTORY}/examples/msg sendrecv/sendrecv_CLM03.tesh)
129 ADD_TEST(msg-sendrecv_Vegas     ${CMAKE_BINARY_DIR}/bin/tesh --cd ${PROJECT_DIRECTORY}/examples/msg sendrecv/sendrecv_Vegas.tesh)
130 ADD_TEST(msg-sendrecv_Reno      ${CMAKE_BINARY_DIR}/bin/tesh --cd ${PROJECT_DIRECTORY}/examples/msg sendrecv/sendrecv_Reno.tesh)
131 ADD_TEST(msg-suspend            ${CMAKE_BINARY_DIR}/bin/tesh --cd ${PROJECT_DIRECTORY}/examples/msg suspend/suspend.tesh)
132 ADD_TEST(msg-masterslave        ${CMAKE_BINARY_DIR}/bin/tesh --cd ${PROJECT_DIRECTORY}/examples/msg masterslave/masterslave.tesh)
133 ADD_TEST(msg-masterslave-forwarder      ${CMAKE_BINARY_DIR}/bin/tesh --cd ${PROJECT_DIRECTORY}/examples/msg masterslave/masterslave_forwarder.tesh)
134 ADD_TEST(msg-masterslave-failure        ${CMAKE_BINARY_DIR}/bin/tesh --cd ${PROJECT_DIRECTORY}/examples/msg masterslave/masterslave_failure.tesh)
135 ADD_TEST(msg-masterslave-bypass ${CMAKE_BINARY_DIR}/bin/tesh --cd ${PROJECT_DIRECTORY}/examples/msg masterslave/masterslave_bypass.tesh)
136 ADD_TEST(msg-masterslave-mailbox        ${CMAKE_BINARY_DIR}/bin/tesh --cd ${PROJECT_DIRECTORY}/examples/msg masterslave/masterslave_mailbox.tesh)
137 ADD_TEST(msg-masterslave-vivaldi        ${CMAKE_BINARY_DIR}/bin/tesh --cd ${PROJECT_DIRECTORY}/examples/msg masterslave/masterslave_vivaldi.tesh)
138 ADD_TEST(msg-migration          ${CMAKE_BINARY_DIR}/bin/tesh --cd ${PROJECT_DIRECTORY}/examples/msg migration/migration.tesh)
139 ADD_TEST(msg-ptask              ${CMAKE_BINARY_DIR}/bin/tesh --cd ${PROJECT_DIRECTORY}/examples/msg parallel_task/parallel_task.tesh)
140 ADD_TEST(msg-priority           ${CMAKE_BINARY_DIR}/bin/tesh --cd ${PROJECT_DIRECTORY}/examples/msg priority/priority.tesh)
141 ADD_TEST(msg-properties         ${CMAKE_BINARY_DIR}/bin/tesh --cd ${PROJECT_DIRECTORY}/examples/msg properties/msg_prop.tesh)
142 ADD_TEST(msg-trace              ${CMAKE_BINARY_DIR}/bin/tesh --cd ${PROJECT_DIRECTORY}/examples/msg trace/trace.tesh)
143 ADD_TEST(msg-masterslave_cpu_ti ${CMAKE_BINARY_DIR}/bin/tesh --cd ${PROJECT_DIRECTORY}/examples/msg masterslave/masterslave_cpu_ti.tesh)
144 ADD_TEST(msg_icomms ${CMAKE_BINARY_DIR}/bin/tesh --cd ${PROJECT_DIRECTORY}/examples/msg/icomms peer.tesh)
145
146 IF(HAVE_TRACING)
147   ADD_TEST(tracing-ms ${CMAKE_BINARY_DIR}/bin/tesh --cd ${PROJECT_DIRECTORY}/examples/msg tracing/ms.tesh)
148   ADD_TEST(tracing-categories ${CMAKE_BINARY_DIR}/bin/tesh --cd ${PROJECT_DIRECTORY}/examples/msg tracing/categories.tesh)
149   ADD_TEST(tracing-volume ${CMAKE_BINARY_DIR}/bin/tesh --cd ${PROJECT_DIRECTORY}/examples/msg tracing/volume.tesh)
150   ADD_TEST(tracing-tasks ${CMAKE_BINARY_DIR}/bin/tesh --cd ${PROJECT_DIRECTORY}/examples/msg tracing/tasks.tesh)
151   ADD_TEST(tracing-process-migration ${CMAKE_BINARY_DIR}/bin/tesh --cd ${PROJECT_DIRECTORY}/examples/msg tracing/procmig.tesh)
152 ENDIF(HAVE_TRACING)
153
154 IF(${ARCH_32_BITS})
155   ADD_TEST(gras-ping-sg-32      ${CMAKE_BINARY_DIR}/bin/tesh --cd ${PROJECT_DIRECTORY}/examples/gras/ping test_sg_32)
156   ADD_TEST(gras-rpc-sg-32       ${CMAKE_BINARY_DIR}/bin/tesh --cd ${PROJECT_DIRECTORY}/examples/gras/rpc test_sg_32)
157   ADD_TEST(gras-spawn-sg-32     ${CMAKE_BINARY_DIR}/bin/tesh --cd ${PROJECT_DIRECTORY}/examples/gras/spawn test_sg_32)
158   ADD_TEST(gras-timer-sg-32     ${CMAKE_BINARY_DIR}/bin/tesh --cd ${PROJECT_DIRECTORY}/examples/gras/timer test_sg_32)
159   ADD_TEST(gras-chrono-sg-32    ${CMAKE_BINARY_DIR}/bin/tesh --cd ${PROJECT_DIRECTORY}/examples/gras/chrono test_sg_32)
160   ADD_TEST(gras-simple_token-sg-32      ${CMAKE_BINARY_DIR}/bin/tesh --cd ${PROJECT_DIRECTORY}/examples/gras/mutual_exclusion/simple_token test_sg_32)
161   ADD_TEST(gras-mmrpc-sg-32     ${CMAKE_BINARY_DIR}/bin/tesh --cd ${PROJECT_DIRECTORY}/examples/gras/mmrpc test_sg_32)
162   ADD_TEST(gras-all2all-sg-32   ${CMAKE_BINARY_DIR}/bin/tesh --cd ${PROJECT_DIRECTORY}/examples/gras/all2all test_sg_32)
163   ADD_TEST(gras-pmm-sg-32       ${CMAKE_BINARY_DIR}/bin/tesh --cd ${PROJECT_DIRECTORY}/examples/gras/pmm test_sg_32)
164   ADD_TEST(gras-synchro-sg-32   ${CMAKE_BINARY_DIR}/bin/tesh --cd ${PROJECT_DIRECTORY}/examples/gras/synchro test_sg_32)
165 ELSE(${ARCH_32_BITS})
166   ADD_TEST(gras-ping-sg-64      ${CMAKE_BINARY_DIR}/bin/tesh --cd ${PROJECT_DIRECTORY}/examples/gras/ping test_sg_64)
167   ADD_TEST(gras-rpc-sg-64       ${CMAKE_BINARY_DIR}/bin/tesh --cd ${PROJECT_DIRECTORY}/examples/gras/rpc test_sg_64)
168   ADD_TEST(gras-spawn-sg-64     ${CMAKE_BINARY_DIR}/bin/tesh --cd ${PROJECT_DIRECTORY}/examples/gras/spawn test_sg_64)
169   ADD_TEST(gras-timer-sg-64     ${CMAKE_BINARY_DIR}/bin/tesh --cd ${PROJECT_DIRECTORY}/examples/gras/timer test_sg_64)
170   ADD_TEST(gras-chrono-sg-64    ${CMAKE_BINARY_DIR}/bin/tesh --cd ${PROJECT_DIRECTORY}/examples/gras/chrono test_sg_64)
171   ADD_TEST(gras-simple_token-sg-64      ${CMAKE_BINARY_DIR}/bin/tesh --cd ${PROJECT_DIRECTORY}/examples/gras/mutual_exclusion/simple_token test_sg_64)
172   ADD_TEST(gras-mmrpc-sg-64     ${CMAKE_BINARY_DIR}/bin/tesh --cd ${PROJECT_DIRECTORY}/examples/gras/mmrpc test_sg_64)
173   ADD_TEST(gras-all2all-sg-64   ${CMAKE_BINARY_DIR}/bin/tesh --cd ${PROJECT_DIRECTORY}/examples/gras/all2all test_sg_64)
174   ADD_TEST(gras-pmm-sg-64       ${CMAKE_BINARY_DIR}/bin/tesh --cd ${PROJECT_DIRECTORY}/examples/gras/pmm test_sg_64)
175   ADD_TEST(gras-synchro-sg-64   ${CMAKE_BINARY_DIR}/bin/tesh --cd ${PROJECT_DIRECTORY}/examples/gras/synchro test_sg_64)
176 ENDIF(${ARCH_32_BITS})
177 ADD_TEST(gras-properties-sg     ${CMAKE_BINARY_DIR}/bin/tesh --cd ${PROJECT_DIRECTORY}/examples/gras/properties test_sg)
178
179 # amok examples
180 ADD_TEST(amok-bandwidth-rl      ${CMAKE_BINARY_DIR}/bin/tesh --cd ${PROJECT_DIRECTORY}/examples/amok bandwidth/bandwidth_rl.tesh)
181 ADD_TEST(amok-saturate-rl       ${CMAKE_BINARY_DIR}/bin/tesh --cd ${PROJECT_DIRECTORY}/examples/amok saturate/saturate_rl.tesh)
182 IF(${ARCH_32_BITS})
183   ADD_TEST(amok-bandwidth-sg-32 ${CMAKE_BINARY_DIR}/bin/tesh --cd ${PROJECT_DIRECTORY}/examples/amok bandwidth/bandwidth_sg_32.tesh)
184   ADD_TEST(amok-saturate-sg-32  ${CMAKE_BINARY_DIR}/bin/tesh --cd ${PROJECT_DIRECTORY}/examples/amok saturate/saturate_sg_32.tesh)
185 ELSE(${ARCH_32_BITS})
186   ADD_TEST(amok-bandwidth-sg-64 ${CMAKE_BINARY_DIR}/bin/tesh --cd ${PROJECT_DIRECTORY}/examples/amok bandwidth/bandwidth_sg_64.tesh)
187   ADD_TEST(amok-saturate-sg-64  ${CMAKE_BINARY_DIR}/bin/tesh --cd ${PROJECT_DIRECTORY}/examples/amok saturate/saturate_sg_64.tesh)
188 ENDIF(${ARCH_32_BITS})
189
190 # simdag examples
191 ADD_TEST(simdag-test_simdag     ${CMAKE_BINARY_DIR}/bin/tesh --cd ${PROJECT_DIRECTORY}/examples/simdag test_simdag.tesh)
192 ADD_TEST(simdag-test_simdag2    ${CMAKE_BINARY_DIR}/bin/tesh --cd ${PROJECT_DIRECTORY}/examples/simdag test_simdag2.tesh)
193 ADD_TEST(simdag-test_simdag_seq_access  ${CMAKE_BINARY_DIR}/bin/tesh --cd ${PROJECT_DIRECTORY}/examples/simdag test_simdag_seq_access.tesh)
194 ADD_TEST(simdag-test_prop       ${CMAKE_BINARY_DIR}/bin/tesh --cd ${PROJECT_DIRECTORY}/examples/simdag properties/test_prop.tesh)
195 ADD_TEST(simdag-metaxml_test    ${CMAKE_BINARY_DIR}/bin/tesh --cd ${PROJECT_DIRECTORY}/examples/simdag metaxml/metaxml_test.tesh)
196 ADD_TEST(simdag-minmin_test     ${CMAKE_BINARY_DIR}/bin/tesh --cd ${PROJECT_DIRECTORY}/examples/simdag/scheduling test_minmin.tesh)
197
198 if(HAVE_GTNETS)
199 ADD_TEST(msg-gtnets-waxman                      ${CMAKE_BINARY_DIR}/bin/tesh --cd ${PROJECT_DIRECTORY}/examples/msg gtnets/gtnets-waxman.tesh)
200 ADD_TEST(msg-gtnets-dogbone                     ${CMAKE_BINARY_DIR}/bin/tesh --cd ${PROJECT_DIRECTORY}/examples/msg gtnets/gtnets-dogbone-gtnets.tesh)
201 ADD_TEST(msg-gtnets-onelink                     ${CMAKE_BINARY_DIR}/bin/tesh --cd ${PROJECT_DIRECTORY}/examples/msg gtnets/gtnets-onelink-gtnets.tesh)
202 ADD_TEST(msg-gtnets-dogbone-lv08        ${CMAKE_BINARY_DIR}/bin/tesh --cd ${PROJECT_DIRECTORY}/examples/msg gtnets/gtnets-dogbone-lv08.tesh)
203 ADD_TEST(msg-gtnets-onelink-lv08        ${CMAKE_BINARY_DIR}/bin/tesh --cd ${PROJECT_DIRECTORY}/examples/msg gtnets/gtnets-onelink-lv08.tesh)
204   if(HAVE_TRACING)
205   ADD_TEST(msg-tracing-gtnets-waxman                    ${CMAKE_BINARY_DIR}/bin/tesh --cd ${PROJECT_DIRECTORY}/examples/msg gtnets/tracing-gtnets-waxman.tesh)
206   ADD_TEST(msg-tracing-gtnets-dogbone                   ${CMAKE_BINARY_DIR}/bin/tesh --cd ${PROJECT_DIRECTORY}/examples/msg gtnets/tracing-gtnets-dogbone-gtnets.tesh)
207   ADD_TEST(msg-tracing-gtnets-onelink                   ${CMAKE_BINARY_DIR}/bin/tesh --cd ${PROJECT_DIRECTORY}/examples/msg gtnets/tracing-gtnets-onelink-gtnets.tesh)
208   ADD_TEST(msg-tracing-gtnets-dogbone-lv08      ${CMAKE_BINARY_DIR}/bin/tesh --cd ${PROJECT_DIRECTORY}/examples/msg gtnets/tracing-gtnets-dogbone-lv08.tesh)
209   ADD_TEST(msg-tracing-gtnets-onelink-lv08      ${CMAKE_BINARY_DIR}/bin/tesh --cd ${PROJECT_DIRECTORY}/examples/msg gtnets/tracing-gtnets-onelink-lv08.tesh)
210   ADD_TEST(msg-gtnets-fullduplex        ${CMAKE_BINARY_DIR}/bin/tesh --cd ${PROJECT_DIRECTORY}/examples/msg gtnets/gtnets-fullduplex.tesh)
211
212   endif(HAVE_TRACING)
213 endif(HAVE_GTNETS)
214
215 # Lua examples
216 if(HAVE_LUA)
217 ADD_TEST(lua-masterslave                ${CMAKE_BINARY_DIR}/bin/tesh --cd ${PROJECT_DIRECTORY}/examples/lua master_slave.tesh)
218 ADD_TEST(lua-mult_matrix                ${CMAKE_BINARY_DIR}/bin/tesh --cd ${PROJECT_DIRECTORY}/examples/lua mult_matrix.tesh)
219 ADD_TEST(lua-masterslave_bypass ${CMAKE_BINARY_DIR}/bin/tesh --cd ${PROJECT_DIRECTORY}/examples/lua master_slave_bypass.tesh)
220 ADD_TEST(msg-masterslave-console        ${CMAKE_BINARY_DIR}/bin/tesh --cd ${PROJECT_DIRECTORY}/examples/msg/masterslave/ masterslave_console.tesh)
221 endif(HAVE_LUA)
222
223 # Ruby examples
224 if(HAVE_RUBY)
225 ADD_TEST(ruby-masterslave       ${CMAKE_BINARY_DIR}/bin/tesh --cd ${PROJECT_DIRECTORY}/examples/ruby MasterSlave.tesh)
226 ADD_TEST(ruby-ping_pong         ${CMAKE_BINARY_DIR}/bin/tesh --cd ${PROJECT_DIRECTORY}/examples/ruby PingPong.tesh)
227 ADD_TEST(ruby-quicksort         ${CMAKE_BINARY_DIR}/bin/tesh --cd ${PROJECT_DIRECTORY}/examples/ruby Quicksort.tesh)
228 endif(HAVE_RUBY)
229
230 # END TESH TESTS
231
232 if(enable_smpi)
233 # smpi examples
234 ADD_TEST(smpi-bcast     ${CMAKE_BINARY_DIR}/bin/tesh --cd ${CMAKE_BINARY_DIR}/examples/smpi ${PROJECT_DIRECTORY}/examples/smpi/bcast.tesh)
235 ADD_TEST(smpi-reduce    ${CMAKE_BINARY_DIR}/bin/tesh --cd ${CMAKE_BINARY_DIR}/examples/smpi ${PROJECT_DIRECTORY}/examples/smpi/reduce.tesh)
236 if(HAVE_TRACING)
237   ADD_TEST(smpi-tracing-ptp ${CMAKE_BINARY_DIR}/bin/tesh --cd ${CMAKE_BINARY_DIR}/examples/smpi ${PROJECT_DIRECTORY}/examples/smpi/smpi_traced.tesh)
238 endif(HAVE_TRACING)
239 endif(enable_smpi)
240                                                                 
241 # examples/msg/mc
242 if(HAVE_MC)
243 ADD_TEST(mc-bugged1                     ${CMAKE_BINARY_DIR}/bin/tesh --cd ${PROJECT_DIRECTORY}/examples/msg/mc bugged1.tesh)
244 ADD_TEST(mc-bugged2                     ${CMAKE_BINARY_DIR}/bin/tesh --cd ${PROJECT_DIRECTORY}/examples/msg/mc bugged2.tesh)
245 ADD_TEST(mc-centralized         ${CMAKE_BINARY_DIR}/bin/tesh --cd ${PROJECT_DIRECTORY}/examples/msg/mc centralized.tesh)
246 endif(HAVE_MC)
247
248 if(HAVE_JAVA)
249 # java examples
250 ADD_TEST(java-basic     ${PROJECT_DIRECTORY}/buildtools/Cmake/test_java.sh ${PROJECT_DIRECTORY}/examples/java/basic BasicTest ${simgrid_BINARY_DIR})
251 ADD_TEST(java-pingpong  ${PROJECT_DIRECTORY}/buildtools/Cmake/test_java.sh ${PROJECT_DIRECTORY}/examples/java/ping_pong PingPongTest ${simgrid_BINARY_DIR})
252 ADD_TEST(java-comm_time ${PROJECT_DIRECTORY}/buildtools/Cmake/test_java.sh ${PROJECT_DIRECTORY}/examples/java/comm_time CommTimeTest ${simgrid_BINARY_DIR})
253 ADD_TEST(java-suspend   ${PROJECT_DIRECTORY}/buildtools/Cmake/test_java.sh ${PROJECT_DIRECTORY}/examples/java/suspend SuspendTest ${simgrid_BINARY_DIR})
254 endif(HAVE_JAVA)
255
256 ###
257 ### Declare that we know that some tests are broken
258 ###
259
260 # Amok is broken in RL since before v3.3 (should fix it one day)
261 set_tests_properties(amok-bandwidth-rl PROPERTIES WILL_FAIL true)
262 set_tests_properties(amok-saturate-rl PROPERTIES WILL_FAIL true)
263
264 # Expected to fail until we regenerate the data
265 set_tests_properties(tesh-gras-dd-r_big32_8 PROPERTIES WILL_FAIL true)
266 set_tests_properties(tesh-gras-dd-r_big32_2 PROPERTIES WILL_FAIL true)
267
268 # Expected to fail until the parser gets better (v3.3.5?)
269 set_tests_properties(simdag-metaxml_test PROPERTIES WILL_FAIL true)   
270 # set_tests_properties( msg-masterslave-console PROPERTIES WILL_FAIL true) 
271
272 if(HAVE_RUBY)
273 set_tests_properties(ruby-quicksort PROPERTIES WILL_FAIL true)
274 endif(HAVE_RUBY)
275
276 # Expected to fail for gras
277 if(GRAS_IS_BROKEN)              
278         if(${ARCH_32_BITS})  
279                 set_tests_properties( gras-rpc-sg-32 PROPERTIES WILL_FAIL true)   
280                 set_tests_properties( gras-spawn-sg-32 PROPERTIES WILL_FAIL true)   
281                 set_tests_properties( gras-all2all-sg-32 PROPERTIES WILL_FAIL true)   
282                 set_tests_properties( gras-pmm-sg-32 PROPERTIES WILL_FAIL true)
283                 set_tests_properties( amok-bandwidth-sg-32 PROPERTIES WILL_FAIL true)   
284                 set_tests_properties( amok-saturate-sg-32 PROPERTIES WILL_FAIL true)  
285         else(${ARCH_32_BITS})
286                 set_tests_properties( gras-rpc-sg-64 PROPERTIES WILL_FAIL true)   
287                 set_tests_properties( gras-spawn-sg-64 PROPERTIES WILL_FAIL true)   
288                 set_tests_properties( gras-all2all-sg-64 PROPERTIES WILL_FAIL true)   
289                 set_tests_properties( gras-pmm-sg-64 PROPERTIES WILL_FAIL true)
290                 set_tests_properties( amok-bandwidth-sg-64 PROPERTIES WILL_FAIL true)   
291                 set_tests_properties( amok-saturate-sg-64 PROPERTIES WILL_FAIL true)  
292         endif(${ARCH_32_BITS})
293 endif(GRAS_IS_BROKEN)
294
295 endif(NOT enable_memcheck)
296
297 ADD_TEST(tesh-simdag-full-links01               ${CMAKE_HOME_DIRECTORY}/teshsuite/simdag/platforms/basic_parsing_test ${CMAKE_HOME_DIRECTORY}/teshsuite/simdag/platforms/two_clusters.xml FULL_LINK)
298 ADD_TEST(tesh-simdag-full-links02               ${CMAKE_HOME_DIRECTORY}/teshsuite/simdag/platforms/basic_parsing_test ${CMAKE_HOME_DIRECTORY}/teshsuite/simdag/platforms/two_clusters_one_name.xml FULL_LINK)
299 ADD_TEST(tesh-simdag-one-link-g5k               ${CMAKE_HOME_DIRECTORY}/teshsuite/simdag/platforms/basic_parsing_test ${CMAKE_HOME_DIRECTORY}/examples/platforms/g5k.xml ONE_LINK)
300 ADD_TEST(msg_icomms_waitany                     ${CMAKE_HOME_DIRECTORY}/examples/msg/icomms/peer3 ${CMAKE_HOME_DIRECTORY}/examples/msg/icomms/small_platform.xml ${CMAKE_HOME_DIRECTORY}/examples/msg/icomms/deployment_peer05.xml)
301
302 # testsuite directory
303 add_test(test-xbt-log           ${CMAKE_HOME_DIRECTORY}/testsuite/xbt/log_usage)
304 add_test(test-xbt-graphxml      ${CMAKE_HOME_DIRECTORY}/testsuite/xbt/graphxml_usage ${PROJECT_DIRECTORY}/testsuite/xbt/graph.xml)
305 add_test(test-xbt-heap          ${CMAKE_HOME_DIRECTORY}/testsuite/xbt/heap_bench)
306
307 add_test(test-surf-lmm          ${CMAKE_HOME_DIRECTORY}/testsuite/surf/lmm_usage)
308 add_test(test-surf-maxmin       ${CMAKE_HOME_DIRECTORY}/testsuite/surf/maxmin_bench)
309 add_test(test-surf-usage        ${CMAKE_HOME_DIRECTORY}/testsuite/surf/surf_usage  --cfg=path:${PROJECT_DIRECTORY}/testsuite/surf/ platform.xml)
310 add_test(test-surf_usage2       ${CMAKE_HOME_DIRECTORY}/testsuite/surf/surf_usage2  --cfg=path:${PROJECT_DIRECTORY}/testsuite/surf/ platform.xml)
311 add_test(test-surf-trace        ${CMAKE_HOME_DIRECTORY}/testsuite/surf/trace_usage --cfg=path:${PROJECT_DIRECTORY}/testsuite/surf/)
312
313 add_test(test-simdag-1 ${CMAKE_HOME_DIRECTORY}/testsuite/simdag/sd_test --cfg=path:${PROJECT_DIRECTORY}/testsuite/simdag small_platform_variable.xml)
314 add_test(test-simdag-2 ${CMAKE_HOME_DIRECTORY}/testsuite/simdag/sd_test --cfg=path:${PROJECT_DIRECTORY}/testsuite/simdag ${PROJECT_DIRECTORY}/examples/msg/small_platform.xml)
315 add_test(test-simdag-3 ${CMAKE_HOME_DIRECTORY}/testsuite/simdag/sd_test --cfg=path:${PROJECT_DIRECTORY}/testsuite/simdag ${PROJECT_DIRECTORY}/examples/msg/msg_platform.xml)
316
317 add_test(testall                ${CMAKE_HOME_DIRECTORY}/src/testall)
318
319 include(${CMAKE_HOME_DIRECTORY}/buildtools/Cmake/memcheck_tests.cmake)