这个测试最开始的问题是Rust本身测试时多线程导致的。如果在Rust里面GetGood
Setup{
a = GetGood(...);
Ok(a);
}
Test_1{
let _tmp = Setup();
...
}
Test_2{
let _tmp = Setup();
...
}
问题是,每个Test创造了不同路径的资源,但是却因为测试的控制文件里是固定了第一个资源,比如叫resource-0;Test_1结束的时候,会释放这个资源0,Test_2创造了另一个资源文件,却通过控制文件去查找资源0,资源0可能不在(比如Test1结束了),也可能没创建完。最后,在大家的讨论后,决定,把创建唯一资源这个事情交给另一个进程去做。就是,Rust无法做Singleton,或者说我们这个项目里面无法简单的创造Rust的Singleton。
这个问题绕了一大圈,可能就没法简单描述。
【 在 javaboy 的大作中提到: 】
: 看着都快被绕晕了。
: 你需要把问题最简化。
:
{
--
FROM 98.42.143.*