我想对我的防锈标准库副本进行一些更改,然后在我更改的源文件中运行测试。我不需要测试编译器本身。如果不测试很多我不改变但不关心的事情,我怎么能这样做呢?
以下是我已尝试过的一些事情。注意事项 - 我想要使用的特定文件是libstd/io/net/pipes.rs
,生锈为0.12.0。
rustc --test pipes.rs
- 导入和选项似乎没有正确设置,结果会产生大量错误。make check-stage1-std NO_REBUILD=1
,但这次失败了"无法找到“绿色”"的箱子。 #rust-internals irc频道的一个人告诉我"半常常打破check-stage1休息,因为它不是官方方式'运行测试。" make check-stage0-std
,它似乎检查了libstd,但是并没有限制对我更改的文件的测试,即使我使用了TESTNAME
标志防锈测试套件文档。答案 0 :(得分:1)
make check-stage1-std NO_REBUILD=1
或... check-stage2-std ...
应该可以正常工作。他们只是直接构建测试运行器,而无需执行其余的引导程序。
在任何情况下,始终构建完整的std
测试运行器,因为正如您所注意到的那样,导入等已设置为完整的包。 TESTNAME
是限制运行哪些测试的正确方法,但是没有办法限制测试的构建。
另一种选择是将测试/相关代码拉入外部文件,另一种选择是通过rustc
:libstd/lib.rs
手动运行rustc --test lib.rs
来构建测试运行器。可以编辑其余的箱子以删除您不感兴趣的测试/代码。