例如,我想用
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
。
您可以直接运行测试二进制文件。 Cargo 在运行时输出其路径
cargo test
。例如:
Running unittests src/lib.rs (target/debug/deps/my_test-c11821121b337a71)