From eda6a5ea807ba8a4e7fa20ad0273b394ed72d106 Mon Sep 17 00:00:00 2001 From: Chun-wei Fan Date: Mon, 12 Mar 2018 13:38:01 +0800 Subject: [PATCH] CMake: Fix running tests on Windows For the API tests, output the test programs at $(TOP_BUILDDIR) so that the freshly-built DLLs will be available for the test programs. For those that are run through the Python wrapper scripts, use ${PYTHON_EXECUTABLE} instead of plain 'python' in case the Python interpreter is not in the PATH. --- test/api/CMakeLists.txt | 7 ++++++- test/fuzzing/CMakeLists.txt | 2 +- test/shaping/CMakeLists.txt | 4 ++-- test/subset/CMakeLists.txt | 2 +- 4 files changed, 10 insertions(+), 5 deletions(-) diff --git a/test/api/CMakeLists.txt b/test/api/CMakeLists.txt index f1a2300..b540eb5 100644 --- a/test/api/CMakeLists.txt +++ b/test/api/CMakeLists.txt @@ -21,7 +21,12 @@ if (HB_HAVE_GLIB) message (FATAL_ERROR "No source file found for test ${test_name}") endif () target_link_libraries (${test_name} harfbuzz harfbuzz-subset) - add_test (${test_name} ${test_name}) + if (WIN32) + set_property (TARGET ${test_name} PROPERTY RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}) + add_test (NAME ${test_name} COMMAND ${test_name}) + else (WIN32) + add_test (${test_name} ${test_name}) + endif (WIN32) endforeach () set_tests_properties (${TEST_PROGS} PROPERTIES ENVIRONMENT "G_TEST_SRCDIR=${CMAKE_CURRENT_SOURCE_DIR};G_TEST_BUILDDIR=${CMAKE_CURRENT_BINARY_DIR}" diff --git a/test/fuzzing/CMakeLists.txt b/test/fuzzing/CMakeLists.txt index e31c744..fe4cf79 100644 --- a/test/fuzzing/CMakeLists.txt +++ b/test/fuzzing/CMakeLists.txt @@ -13,6 +13,6 @@ if (HB_CHECK) target_compile_definitions(hb-fuzzer PUBLIC ${FUZZING_CPPFLAGS}) add_test (NAME hb-fuzzer - COMMAND python run-fuzzer-tests.py $ + COMMAND "${PYTHON_EXECUTABLE}" run-fuzzer-tests.py $ WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}) endif () diff --git a/test/shaping/CMakeLists.txt b/test/shaping/CMakeLists.txt index 4bdc5c9..7c2c999 100644 --- a/test/shaping/CMakeLists.txt +++ b/test/shaping/CMakeLists.txt @@ -3,7 +3,7 @@ if (HB_BUILD_UTILS) extract_make_variable (TESTS ${INHOUSE}) foreach (test IN ITEMS ${TESTS}) add_test (NAME ${test} - COMMAND python run-tests.py $ "data/in-house/${test}" + COMMAND "${PYTHON_EXECUTABLE}" run-tests.py $ "data/in-house/${test}" WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}) endforeach () @@ -11,7 +11,7 @@ if (HB_BUILD_UTILS) extract_make_variable (TESTS ${TEXTRENDERING}) foreach (test IN ITEMS ${TESTS}) add_test (NAME ${test} - COMMAND python run-tests.py $ "data/text-rendering-tests/${test}" + COMMAND "${PYTHON_EXECUTABLE}" run-tests.py $ "data/text-rendering-tests/${test}" WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}) endforeach () endif () diff --git a/test/subset/CMakeLists.txt b/test/subset/CMakeLists.txt index ea04105..af2b41a 100644 --- a/test/subset/CMakeLists.txt +++ b/test/subset/CMakeLists.txt @@ -3,7 +3,7 @@ if (HB_BUILD_UTILS) extract_make_variable (TESTS ${SOURCES}) foreach (test IN ITEMS ${TESTS}) add_test (NAME ${test} - COMMAND python run-tests.py $ "data/${test}" + COMMAND "${PYTHON_EXECUTABLE}" run-tests.py $ "data/${test}" WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}) set_property(TEST ${test} PROPERTY SKIP_RETURN_CODE 77) endforeach () -- 2.7.4