From 821ae8000593e2c33724530216217daad8d02835 Mon Sep 17 00:00:00 2001 From: Egor Tensin Date: Sat, 3 Apr 2021 14:50:44 +0300 Subject: add CTest tests, add `make test`, etc. --- test/unit_tests/CMakeLists.txt | 51 +++++++++++++++++++++++++++++++++++------- 1 file changed, 43 insertions(+), 8 deletions(-) (limited to 'test/unit_tests') diff --git a/test/unit_tests/CMakeLists.txt b/test/unit_tests/CMakeLists.txt index c3d5b84..070e1bb 100644 --- a/test/unit_tests/CMakeLists.txt +++ b/test/unit_tests/CMakeLists.txt @@ -1,25 +1,60 @@ +find_package(Boost REQUIRED COMPONENTS unit_test_framework) + file(GLOB shared_src "shared/*.hpp") file(GLOB unit_tests_src "*.cpp" "*.h" "*.hpp" "*.rc") add_executable(unit_tests ${unit_tests_src} ${shared_src}) set_target_properties(unit_tests PROPERTIES OUTPUT_NAME winapi-common-unit-tests) - target_link_libraries(unit_tests PRIVATE winapi_common winapi_utf8) - -find_package(Boost REQUIRED COMPONENTS unit_test_framework) target_link_libraries(unit_tests PRIVATE Boost::disable_autolinking Boost::unit_test_framework) - install(TARGETS unit_tests RUNTIME DESTINATION bin) install_pdbs(TARGETS unit_tests DESTINATION bin) file(GLOB worker_src "worker/*.cpp") add_executable(worker ${worker_src} ${shared_src}) set_target_properties(worker PROPERTIES OUTPUT_NAME winapi-common-test-worker) - target_link_libraries(worker PRIVATE winapi_common winapi_utf8) - -find_package(Boost REQUIRED) target_link_libraries(worker PRIVATE Boost::disable_autolinking Boost::boost) - install(TARGETS worker RUNTIME DESTINATION bin) install_pdbs(TARGETS worker DESTINATION bin) + +find_package(Python3 REQUIRED COMPONENTS Interpreter) + +add_test(NAME unit_tests COMMAND unit_tests + --log_level=all + --no_color_output + "--log_sink=$/unit_tests.log" + "--report_sink=$/unit_tests_report.txt" + --run_test=!console_tests,process_console_tests + -- + "--echo_exe=$" + "--worker_exe=$") + +add_test(NAME unit_tests_report COMMAND Python3::Interpreter + "${CMAKE_CURRENT_SOURCE_DIR}/../../cmake/tools/ctest-driver.py" + grep + --pass-regex [=[^\*\*\* No errors detected$]=] + -- + "$/unit_tests_report.txt") + +add_test(NAME console_tests COMMAND Python3::Interpreter + "${CMAKE_CURRENT_SOURCE_DIR}/../../cmake/tools/ctest-driver.py" + run + --new-window + -- + "$" + --log_level=all + --no_color_output + "--log_sink=$/console_tests.log" + "--report_sink=$/console_tests_report.txt" + --run_test=console_tests,process_console_tests + -- + "--echo_exe=$" + "--worker_exe=$") + +add_test(NAME console_tests_report COMMAND Python3::Interpreter + "${CMAKE_CURRENT_SOURCE_DIR}/../../cmake/tools/ctest-driver.py" + grep + --pass-regex [=[^\*\*\* No errors detected$]=] + -- + "$/console_tests_report.txt") -- cgit v1.2.3