在我们的 Linux 应用程序中,我们使用一个预先加载了LD_PRELOAD.
我想为每个测试预加载相同的库。我们使用 CMake 作为构建工具。
我可以告诉 CMake 它应该LD_PRELOAD为每个执行的测试添加到环境中吗?
测试使用make test.
假设您用于add_test注册单个测试,实现此目的的最可靠方法是使用test properties。该ENVIRONMENT属性允许您指定为运行测试而设置的任意环境变量:
add_test(NAME some_test COMMAND some_test_target)
add_test(NAME some_other_test COMMAND other_test_target)
set_property(TEST some_test some_other_test
PROPERTY
ENVIRONMENT LD_PRELOAD=/path/to/preload.so)
Run Code Online (Sandbox Code Playgroud)
您还可能希望使用生成器表达式对属性进行转义,以保持测试可移植到不支持LD_PRELOAD.
| 归档时间: |
|
| 查看次数: |
1236 次 |
| 最近记录: |