如何从ctest强制运行禁用的测试



我有一个利用cmake、ctest和gtest的c++项目。

出于回归的目的,我的一个测试需要禁用,但我想手动运行它。

我使用gtest技巧将测试命名为DISABLED_test_name来禁用它。

当我尝试运行它时,我会看到以下内容:

$ ctest -R aie2_210a_ddr_2kernel_ddr_gmio_bd_api.maize_xrt --verbose
UpdateCTestConfiguration  from :/scratch/bryanloz/aie_controller_hax/test/build/DartConfiguration.tcl
Parse Config file:/scratch/bryanloz/aie_controller_hax/test/build/DartConfiguration.tcl
UpdateCTestConfiguration  from :/scratch/bryanloz/aie_controller_hax/test/build/DartConfiguration.tcl
Parse Config file:/scratch/bryanloz/aie_controller_hax/test/build/DartConfiguration.tcl
Test project /scratch/bryanloz/aie_controller_hax/test/build
Constructing a list of tests
Done constructing a list of tests
Updating test list for fixtures
Added 0 tests to meet fixture requirements
Checking test dependency graph...
Checking test dependency graph end
test 8
Start 8: aie2_210a_ddr_2kernel_ddr_gmio_bd_api.maize_xrt
1/1 Test #8: aie2_210a_ddr_2kernel_ddr_gmio_bd_api.maize_xrt ...***Not Run (Disabled)   0.00 sec
No tests were found!!!

如何覆盖此行为?

您可以使用--gtest_also_run_disabled_tests。此命令行标志强制运行所有DISABLED_测试。

请注意,如果您有多个禁用的测试,并且只想使用命令行启用其中一个,则可以将此标志与--gtest_filter组合使用。

编辑CTest

我不熟悉CTest,但显然没有一种简单的方法可以在运行时在CTest中传递命令行参数。也许您可以使用此解决方法,或者找到可执行文件并将参数直接传递给它。查看此答案。

作为传递命令行参数的替代方法,可以将GTEST_ALSO_RUN_DISABLED_TESTS环境变量设置为0以外的值。看看这个。

没有好的解决方案。当我需要在本地进行测试时,我只会重新构建测试可执行文件。我还可以直接从适当的工作目录中调用gtest可执行文件。

即使是建议的ENV在CTest场景中也不受尊重:

GTEST_ALSO_RUN_DISABLED_TESTS=1 ctest --verbose -R aie2_210a_ddr_2kernel_ddr_gmio_bd_api.maize_xrt
UpdateCTestConfiguration  from :/scratch/bryanloz/aie_controller_hax/test/build/DartConfiguration.tcl
Parse Config file:/scratch/bryanloz/aie_controller_hax/test/build/DartConfiguration.tcl
UpdateCTestConfiguration  from :/scratch/bryanloz/aie_controller_hax/test/build/DartConfiguration.tcl
Parse Config file:/scratch/bryanloz/aie_controller_hax/test/build/DartConfiguration.tcl
Test project /scratch/bryanloz/aie_controller_hax/test/build
Constructing a list of tests
Done constructing a list of tests
Updating test list for fixtures
Added 0 tests to meet fixture requirements
Checking test dependency graph...
Checking test dependency graph end
test 9
Start 9: aie2_210a_ddr_2kernel_ddr_gmio_bd_api.maize_xrt
1/1 Test #9: aie2_210a_ddr_2kernel_ddr_gmio_bd_api.maize_xrt ...***Not Run (Disabled)   0.00 sec
No tests were found!!!

相关内容

  • 没有找到相关文章

最新更新