如何在Meson构建中排除指定测试用例?
如何在Meson构建中排除指定测试用例?
当然可以搞定!Meson 正好有合适的功能满足你的需求——不用硬编码所有要运行的测试,直接排除你不想跑的那部分就行,新增的测试会自动被包含进来。
下面是几种实用的实现方式:
单次排除单个测试:直接使用
meson test的--exclude参数,指定要跳过的测试名称。比如要排除名为test_slow_operation的测试,运行命令:meson test --exclude test_slow_operation排除多个测试:如果要跳过多个测试,多次使用
--exclude参数即可:meson test --exclude test_slow --exclude test_flaky_edge_case通配符批量排除:Meson支持用通配符匹配测试名称,适合排除一类测试。比如要排除所有名称包含
slow的测试,记得用引号包裹通配符避免shell解析:meson test --exclude '*slow*'通过文件维护排除列表:如果需要经常排除同一组测试,或者排除的测试较多,可以把要排除的测试名/通配符写到一个文件里(比如
exclude_tests.txt),每行一个条目,然后用--exclude-file参数加载这个文件:meson test --exclude-file exclude_tests.txt这样后续要调整排除的测试,只需要修改这个文件,不用每次改命令行,非常适合CI环境或者长期复用的场景。
这种方式完全不需要修改meson.build里的测试定义,所有新增的测试都会自动被纳入运行范围,完美解决了你不想手动维护测试调用列表的痛点。
备注:内容来源于stack exchange,提问作者Newbyte
相关产品推荐
相关产品推荐

