X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/14f6b4abd703b45e80e563263d8d409c0b766357..e14fa93ba6768b92d674a9d7d1f674592658afaa:/teshsuite/simdag/CMakeLists.txt diff --git a/teshsuite/simdag/CMakeLists.txt b/teshsuite/simdag/CMakeLists.txt index b003ea4e0f..42ac10529b 100644 --- a/teshsuite/simdag/CMakeLists.txt +++ b/teshsuite/simdag/CMakeLists.txt @@ -1,72 +1,104 @@ -cmake_minimum_required(VERSION 2.6) +foreach(x availability basic0 basic1 basic3 basic4 basic5 basic6 basic-link-test basic-parsing-test + comm-mxn-all2all comm-mxn-independent comm-mxn-scatter comm-p2p-latency-1 + comm-p2p-latency-2 comm-p2p-latency-3 comm-p2p-latency-bound comp-only-par comp-only-seq incomplete) + add_executable (${x} EXCLUDE_FROM_ALL ${x}/${x}.c) + target_link_libraries(${x} simgrid) + set_target_properties(${x} PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/${x}) + add_dependencies(tests ${x}) -set(EXECUTABLE_OUTPUT_PATH "${CMAKE_CURRENT_BINARY_DIR}") + set(tesh_files ${tesh_files} ${CMAKE_CURRENT_SOURCE_DIR}/${x}/${x}.tesh) + set(teshsuite_src ${teshsuite_src} ${CMAKE_CURRENT_SOURCE_DIR}/${x}/${x}.c) +endforeach() -add_executable(basic0 basic0.c) -add_executable(basic1 basic1.c) -add_executable(basic2 basic2.c) -add_executable(basic3 basic3.c) -add_executable(basic4 basic4.c) -add_executable(basic5 basic5.c) -add_executable(basic6 basic6.c) -add_executable(incomplete incomplete.c) +foreach(x evaluate-parse-time evaluate-get-route-time) + add_executable (${x} EXCLUDE_FROM_ALL ${x}/${x}.c) + target_link_libraries(${x} simgrid) + set_target_properties(${x} PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/${x}) + add_dependencies(tests ${x}) -### Add definitions for compile -if(NOT WIN32) -target_link_libraries(basic0 simgrid m pthread ) -target_link_libraries(basic1 simgrid m pthread ) -target_link_libraries(basic2 simgrid m pthread ) -target_link_libraries(basic3 simgrid m pthread ) -target_link_libraries(basic4 simgrid m pthread ) -target_link_libraries(basic5 simgrid m pthread ) -target_link_libraries(basic6 simgrid m pthread ) -target_link_libraries(incomplete simgrid m pthread ) -else(NOT WIN32) -target_link_libraries(basic0 simgrid) -target_link_libraries(basic1 simgrid) -target_link_libraries(basic2 simgrid) -target_link_libraries(basic3 simgrid) -target_link_libraries(basic4 simgrid) -target_link_libraries(basic5 simgrid) -target_link_libraries(basic6 simgrid) -target_link_libraries(incomplete simgrid) -endif(NOT WIN32) + set(teshsuite_src ${teshsuite_src} ${CMAKE_CURRENT_SOURCE_DIR}/${x}/${x}.c) +endforeach() -set(tesh_files - ${tesh_files} - ${CMAKE_CURRENT_SOURCE_DIR}/basic0.tesh - ${CMAKE_CURRENT_SOURCE_DIR}/basic1.tesh - ${CMAKE_CURRENT_SOURCE_DIR}/basic2.tesh - ${CMAKE_CURRENT_SOURCE_DIR}/basic3.tesh - ${CMAKE_CURRENT_SOURCE_DIR}/basic4.tesh - ${CMAKE_CURRENT_SOURCE_DIR}/basic5.tesh - ${CMAKE_CURRENT_SOURCE_DIR}/basic6.tesh - ${CMAKE_CURRENT_SOURCE_DIR}/incomplete.tesh - ${CMAKE_CURRENT_SOURCE_DIR}/simdag.tesh - PARENT_SCOPE -) -set(xml_files - ${xml_files} - ${CMAKE_CURRENT_SOURCE_DIR}/basic_platform.xml - PARENT_SCOPE -) -set(teshsuite_src - ${teshsuite_src} - ${CMAKE_CURRENT_SOURCE_DIR}/basic0.c - ${CMAKE_CURRENT_SOURCE_DIR}/basic1.c - ${CMAKE_CURRENT_SOURCE_DIR}/basic2.c - ${CMAKE_CURRENT_SOURCE_DIR}/basic3.c - ${CMAKE_CURRENT_SOURCE_DIR}/basic4.c - ${CMAKE_CURRENT_SOURCE_DIR}/basic5.c - ${CMAKE_CURRENT_SOURCE_DIR}/basic6.c - ${CMAKE_CURRENT_SOURCE_DIR}/incomplete.c - PARENT_SCOPE -) -set(bin_files - ${bin_files} - PARENT_SCOPE -) -set(txt_files - ${txt_files} - PARENT_SCOPE -) \ No newline at end of file +foreach(x flatifier is-router) + add_executable (${x} EXCLUDE_FROM_ALL ${x}/${x}.cpp) + target_link_libraries(${x} simgrid) + set_target_properties(${x} PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/${x}) + set_property(TARGET ${x} APPEND PROPERTY INCLUDE_DIRECTORIES "${INTERNAL_INCLUDES}") + add_dependencies(tests ${x}) + + set(tesh_files ${tesh_files} ${CMAKE_CURRENT_SOURCE_DIR}/${x}/${x}.tesh) + set(teshsuite_src ${teshsuite_src} ${CMAKE_CURRENT_SOURCE_DIR}/${x}/${x}.cpp) +endforeach() + +set(teshsuite_src ${teshsuite_src} PARENT_SCOPE) +set(tesh_files ${tesh_files} ${CMAKE_CURRENT_SOURCE_DIR}/flatifier/bogus_two_hosts_asymetric.tesh + ${CMAKE_CURRENT_SOURCE_DIR}/flatifier/bogus_missing_gateway.tesh + ${CMAKE_CURRENT_SOURCE_DIR}/flatifier/bogus_disk_attachment.tesh + ${CMAKE_CURRENT_SOURCE_DIR}/basic-parsing-test/basic-parsing-test-sym-full.tesh + ${CMAKE_CURRENT_SOURCE_DIR}/basic-parsing-test/basic-parsing-test-bypass.tesh + PARENT_SCOPE) +set(xml_files ${xml_files} ${CMAKE_CURRENT_SOURCE_DIR}/platforms/four_hosts_floyd.xml + ${CMAKE_CURRENT_SOURCE_DIR}/platforms/two_hosts_multi_hop.xml + ${CMAKE_CURRENT_SOURCE_DIR}/platforms/host_attributes.xml + ${CMAKE_CURRENT_SOURCE_DIR}/platforms/link_attributes.xml + ${CMAKE_CURRENT_SOURCE_DIR}/platforms/one_cluster_multicore.xml + ${CMAKE_CURRENT_SOURCE_DIR}/platforms/one_cluster_splitduplex.xml + ${CMAKE_CURRENT_SOURCE_DIR}/platforms/one_cluster_router_id.xml + ${CMAKE_CURRENT_SOURCE_DIR}/platforms/one_cluster.xml + ${CMAKE_CURRENT_SOURCE_DIR}/platforms/platform_4p_1switch.xml + ${CMAKE_CURRENT_SOURCE_DIR}/platforms/properties.xml + ${CMAKE_CURRENT_SOURCE_DIR}/platforms/test_of_is_router.xml + ${CMAKE_CURRENT_SOURCE_DIR}/platforms/three_hosts_non_symmetric_route.xml + ${CMAKE_CURRENT_SOURCE_DIR}/platforms/two_clusters_one_name.xml + ${CMAKE_CURRENT_SOURCE_DIR}/platforms/two_clusters_router_id.xml + ${CMAKE_CURRENT_SOURCE_DIR}/platforms/two_clusters.xml + ${CMAKE_CURRENT_SOURCE_DIR}/platforms/bogus_missing_src_gateway.xml + ${CMAKE_CURRENT_SOURCE_DIR}/platforms/bogus_missing_dst_gateway.xml + ${CMAKE_CURRENT_SOURCE_DIR}/platforms/bogus_two_hosts_asymetric.xml + ${CMAKE_CURRENT_SOURCE_DIR}/platforms/two_hosts_one_link_splitduplex.xml + ${CMAKE_CURRENT_SOURCE_DIR}/platforms/two_hosts_one_link.xml + ${CMAKE_CURRENT_SOURCE_DIR}/platforms/Dijkstra.xml + ${CMAKE_CURRENT_SOURCE_DIR}/platforms/platform_2p_1bb.xml + ${CMAKE_CURRENT_SOURCE_DIR}/platforms/platform_2p_1fl.xml + ${CMAKE_CURRENT_SOURCE_DIR}/platforms/platform_2p_1sl.xml + ${CMAKE_CURRENT_SOURCE_DIR}/platforms/platform_2p_1sl_hetero.xml + ${CMAKE_CURRENT_SOURCE_DIR}/platforms/platform_2p_1switch.xml + ${CMAKE_CURRENT_SOURCE_DIR}/platforms/bogus_disk_attachment.xml PARENT_SCOPE) +set(txt_files ${txt_files} ${CMAKE_CURRENT_SOURCE_DIR}/platforms/carol.fail + ${CMAKE_CURRENT_SOURCE_DIR}/platforms/bob.trace + ${CMAKE_CURRENT_SOURCE_DIR}/platforms/erin.avail + ${CMAKE_CURRENT_SOURCE_DIR}/platforms/link.bw + ${CMAKE_CURRENT_SOURCE_DIR}/platforms/link.fail + ${CMAKE_CURRENT_SOURCE_DIR}/platforms/link.lat PARENT_SCOPE) + +foreach(x availability basic0 basic1 basic3 basic4 basic5 basic6 basic-link-test basic-parsing-test + comm-mxn-all2all comm-mxn-independent comm-mxn-scatter comm-p2p-latency-1 flatifier is-router + comm-p2p-latency-2 comm-p2p-latency-3 comm-p2p-latency-bound comp-only-par comp-only-seq incomplete) + ADD_TESH(tesh-simdag-${x} --setenv bindir=${CMAKE_BINARY_DIR}/teshsuite/simdag/${x} --setenv srcdir=${CMAKE_HOME_DIRECTORY} --cd ${CMAKE_HOME_DIRECTORY}/teshsuite/simdag/${x} ${x}.tesh) +endforeach() + +# test for code coverage +ADD_TEST(test-help ${CMAKE_BINARY_DIR}/teshsuite/simdag/basic-parsing-test/basic-parsing-test --help) +ADD_TEST(test-help-models ${CMAKE_BINARY_DIR}/teshsuite/simdag/basic-parsing-test/basic-parsing-test --help-models) +ADD_TEST(test-tracing-help ${CMAKE_BINARY_DIR}/teshsuite/simdag/basic-parsing-test/basic-parsing-test --help-tracing) + +ADD_TESH(tesh-simdag-parser-bypass --setenv bindir=${CMAKE_BINARY_DIR}/teshsuite/simdag/basic-parsing-test --cd ${CMAKE_HOME_DIRECTORY}/teshsuite/simdag/basic-parsing-test --setenv srcdir=${CMAKE_HOME_DIRECTORY} basic-parsing-test-bypass.tesh) +ADD_TESH(tesh-simdag-parser-sym-full --setenv bindir=${CMAKE_BINARY_DIR}/teshsuite/simdag/basic-parsing-test --cd ${CMAKE_HOME_DIRECTORY}/teshsuite/simdag/basic-parsing-test basic-parsing-test-sym-full.tesh) + +ADD_TEST(tesh-simdag-full-links01 ${CMAKE_BINARY_DIR}/teshsuite/simdag/basic-parsing-test/basic-parsing-test ${CMAKE_HOME_DIRECTORY}/teshsuite/simdag/platforms/two_clusters.xml FULL_LINK) +ADD_TEST(tesh-simdag-full-links02 ${CMAKE_BINARY_DIR}/teshsuite/simdag/basic-parsing-test/basic-parsing-test ${CMAKE_HOME_DIRECTORY}/teshsuite/simdag/platforms/two_clusters_one_name.xml FULL_LINK) +ADD_TEST(tesh-simdag-one-link-g5k ${CMAKE_BINARY_DIR}/teshsuite/simdag/basic-parsing-test/basic-parsing-test ${CMAKE_HOME_DIRECTORY}/examples/platforms/g5k.xml ONE_LINK) + +if(enable_debug AND NOT enable_memcheck) + # these tests need assertions. Exclude them from memcheck, as they normally die, leaving lots of unfree'd objects + ADD_TESH(tesh-parser-bogus-symmetric --setenv bindir=${CMAKE_BINARY_DIR}/teshsuite/simdag/flatifier --cd ${CMAKE_HOME_DIRECTORY}/teshsuite/simdag/flatifier ${CMAKE_HOME_DIRECTORY}/teshsuite/simdag/flatifier/bogus_two_hosts_asymetric.tesh) + ADD_TESH(tesh-parser-bogus-missing-gw --setenv bindir=${CMAKE_BINARY_DIR}/teshsuite/simdag/flatifier --cd ${CMAKE_HOME_DIRECTORY}/teshsuite/simdag/flatifier ${CMAKE_HOME_DIRECTORY}/teshsuite/simdag/flatifier/bogus_missing_gateway.tesh) + ADD_TESH(tesh-parser-bogus-disk-attachment --setenv bindir=${CMAKE_BINARY_DIR}/teshsuite/simdag/flatifier --cd ${CMAKE_HOME_DIRECTORY}/teshsuite/simdag/flatifier ${CMAKE_HOME_DIRECTORY}/teshsuite/simdag/flatifier/bogus_disk_attachment.tesh) + + #These tests fail on Windows as the signal returned is not the same as Unix would send. + if(WIN32) + set_property(TEST tesh-parser-bogus-symmetric PROPERTY WILL_FAIL TRUE) + set_property(TEST tesh-parser-bogus-missing-gw PROPERTY WILL_FAIL TRUE) + set_property(TEST tesh-parser-bogus-disk-attachment PROPERTY WILL_FAIL TRUE) + endif() +endif()