集成Mull与CMake后,如何为所有ctest执行命令添加mull-runner-12前缀?
用ctest批量为测试添加mull-runner-12前缀
可以直接通过ctest的命令行参数或环境变量实现,无需修改CMake配置,以下是两种实用方式:
方式一:使用--wrap-test-program命令行参数
这个参数会让ctest将每个测试程序作为参数传递给指定的包装器,直接在调用ctest时添加即可:
ctest --wrap-test-program mull-runner-12
如果需要给mull-runner-12传递额外参数(比如指定变异结果输出目录),可以搭配--wrap-test-program-args:
ctest --wrap-test-program mull-runner-12 --wrap-test-program-args "--output ./mull-results"
方式二:通过环境变量配置
如果不想每次输入长参数,可通过环境变量指定包装器:
# 设置包装器 export CTEST_WRAP_TEST_PROGRAM=mull-runner-12 # 如需额外参数,补充下面这行 export CTEST_WRAP_TEST_PROGRAM_ARGS="--output ./mull-results" # 正常执行ctest即可 ctest
注意事项
- 确保
mull-runner-12在系统PATH中,或者直接使用其完整路径(例如/opt/mull/bin/mull-runner-12) - 该方式仅在运行时动态包装测试命令,不会修改CMake生成的测试配置,适合临时执行变异测试的场景
内容的提问来源于stack exchange,提问作者alfC
相关产品推荐
相关产品推荐

