将环境变量传递给测试,但不传递货物二进制文件

问题描述 投票:0回答:1

例如,我想用

MALLOC_CONF="prof:true,prof_active:false"
运行测试,所以我可以这样做

LD_PRELOAD=jemalloc-5.2.1/lib/libjemalloc.so.2 MALLOC_CONF="prof:true,prof_active:false" LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib cargo test --package my_package --test my_mod test_jemalloc_prof

但是,由于cargo test本身不支持jemalloc堆分析,因此我们在编译时可能会收到如下错误消息

<jemalloc>: Invalid conf pair: prof_active:false
<jemalloc>: Invalid conf pair: prof:true

我的问题是如何避免这种情况,并仅在运行阶段设置

MALLOC_CONF

rust rust-cargo
1个回答
0
投票

您可以直接运行测试二进制文件。 Cargo 在运行时输出其路径

cargo test
。例如:

     Running unittests src/lib.rs (target/debug/deps/my_test-c11821121b337a71)
© www.soinside.com 2019 - 2024. All rights reserved.