具有参数的python脚本的CTest自定义目标

时间:2018-06-15 13:13:43

标签: python cmake ctest

我希望能够通过CTest和以下命令在其他测试之外运行一些python单元测试:

make unit_tests

我尝试了以下组合,但它不起作用:

ADD_TEST(unit_test_1 ${PYTHON_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/unit_test_1.py --verbose)

ADD_TEST(unit_test_2 ${PYTHON_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/unit_test_2.py --verbose)

ADD_CUSTOM_TARGET(unit_tests COMMAND ${CMAKE_CTEST_COMMAND} 
                             DEPENDS unit_test_1 unit_test_2)

你知道怎么做吗?

1 个答案:

答案 0 :(得分:0)

这适用于我(我用一些虚拟语句替换了测试命令,但调整它以调用python应该是可行的):

cmake_minimum_required(VERSION 3.11)

enable_testing()

add_test(unit_test_1 echo "Unit test 1")
add_test(unit_test_2 echo "Unit test 2")

add_custom_target(unit_tests COMMAND ${CMAKE_CTEST_COMMAND})

无需向unit_tests目标添加任何依赖项。默认情况下,ctest运行所有测试。