From f1ee9585d18e998a105cac39e68d4bf7bc473f9e Mon Sep 17 00:00:00 2001 From: Mark Pictor Date: Sat, 1 Mar 2014 13:49:30 -0500 Subject: [PATCH] add dependencies for tests, so tests won't fail if 'make' wasn't run before 'make test' --- src/exp2cxx/test/CMakeLists.txt | 9 ++++++++- src/exppp/test/CMakeLists.txt | 18 +++++++++++++----- src/express/test/CMakeLists.txt | 7 +++++++ test/CMakeLists.txt | 2 +- 4 files changed, 29 insertions(+), 7 deletions(-) diff --git a/src/exp2cxx/test/CMakeLists.txt b/src/exp2cxx/test/CMakeLists.txt index 200770d9a..51053757d 100644 --- a/src/exp2cxx/test/CMakeLists.txt +++ b/src/exp2cxx/test/CMakeLists.txt @@ -2,6 +2,13 @@ set(unitary_dir ${SC_SOURCE_DIR}/test/unitary_schemas) +add_test(NAME build_exp2cxx + WORKING_DIRECTORY ${CMAKE_BINARY_DIR} + COMMAND ${CMAKE_COMMAND} --build . + --target exp2cxx + --config $ + ) + add_test(NAME test_exp2cxx_unique_qualifiers WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} COMMAND ${CMAKE_COMMAND} -DEXE=$ @@ -15,7 +22,7 @@ add_test(NAME test_exp2cxx_inverse_qualifiers -DINFILE=${unitary_dir}/inverse_qualifiers.exp -P ${CMAKE_CURRENT_SOURCE_DIR}/inverse_qualifiers.cmake ) -set_tests_properties(test_exp2cxx_unique_qualifiers test_exp2cxx_inverse_qualifiers PROPERTIES DEPENDS exp2cxx) +set_tests_properties(test_exp2cxx_unique_qualifiers test_exp2cxx_inverse_qualifiers PROPERTIES DEPENDS build_exp2cxx) # Local Variables: # tab-width: 8 diff --git a/src/exppp/test/CMakeLists.txt b/src/exppp/test/CMakeLists.txt index 23fe7afcf..08f8edde4 100644 --- a/src/exppp/test/CMakeLists.txt +++ b/src/exppp/test/CMakeLists.txt @@ -6,13 +6,21 @@ set(breakLongStr_SRCS ../exppp.c ) +add_test(NAME build_exppp + WORKING_DIRECTORY ${CMAKE_BINARY_DIR} + COMMAND ${CMAKE_COMMAND} --build . + --target exppp + --config $ + ) + # this executable doesn't really check the results, just ensures no segfaults. ought to improve it... SC_ADDEXEC(tst_breakLongStr "${breakLongStr_SRCS}" "express;base" "TESTABLE") add_test(NAME build_tst_breakLongStr - WORKING_DIRECTORY ${CMAKE_BINARY_DIR} - COMMAND ${CMAKE_COMMAND} --build . - --target tst_breakLongStr - --config $) + WORKING_DIRECTORY ${CMAKE_BINARY_DIR} + COMMAND ${CMAKE_COMMAND} --build . + --target tst_breakLongStr + --config $ + ) add_test(test_breakLongStr ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/tst_breakLongStr) set_tests_properties(test_breakLongStr PROPERTIES DEPENDS build_tst_breakLongStr) @@ -50,7 +58,7 @@ add_test(NAME test_exppp_div_slash -P ${CMAKE_CURRENT_SOURCE_DIR}/exppp_div_slash.cmake ) -set_tests_properties(test_exppp_unique_qualifiers test_exppp_inverse_qualifiers test_exppp_lost_var test_exppp_div_slash PROPERTIES DEPENDS exppp) +set_tests_properties(test_exppp_unique_qualifiers test_exppp_inverse_qualifiers test_exppp_lost_var test_exppp_div_slash PROPERTIES DEPENDS build_exppp) # Local Variables: # tab-width: 8 diff --git a/src/express/test/CMakeLists.txt b/src/express/test/CMakeLists.txt index bd6ae549c..9b9a0a492 100644 --- a/src/express/test/CMakeLists.txt +++ b/src/express/test/CMakeLists.txt @@ -1,5 +1,12 @@ include_directories(..) +add_test(NAME build_check_express + WORKING_DIRECTORY ${CMAKE_BINARY_DIR} + COMMAND ${CMAKE_COMMAND} --build . + --target check-express + --config $ + ) + sc_addexec(print_schemas "../fedex.c;print_schemas.c" "express;base") sc_addexec(print_attrs "../fedex.c;print_attrs.c" "express;base") diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt index 725da3ffb..05530cb5b 100644 --- a/test/CMakeLists.txt +++ b/test/CMakeLists.txt @@ -6,7 +6,7 @@ foreach(UNITARY_SCHEMA ${UNITARY_SCHEMAS}) get_filename_component(SCHEMA_NAME ${UNITARY_SCHEMA} NAME_WE) set(TEST_NAME test_unit_${SCHEMA_NAME}) add_test(${TEST_NAME} ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/check-express ${UNITARY_SCHEMA}) - set_tests_properties( ${TEST_NAME} PROPERTIES LABELS unitary_schemas ) + set_tests_properties( ${TEST_NAME} PROPERTIES LABELS unitary_schemas DEPENDS build_check_express ) #if the file name begins with fail_, then testing it should result in an error. if( UNITARY_SCHEMA MATCHES "fail_.*" ) set_tests_properties( ${TEST_NAME} PROPERTIES WILL_FAIL true )