如何测试防锈标准库?

时间:2014-11-22 03:57:35

标签: testing rust standard-library

我想对我的防锈标准库副本进行一些更改,然后在我更改的源文件中运行测试。我不需要测试编译器本身。如果不测试很多我不改变但不关心的事情,我怎么能这样做呢?

以下是我已尝试过的一些事情。注意事项 - 我想要使用的特定文件是libstd/io/net/pipes.rs,生锈为0.12.0。

  1. 我尝试rustc --test pipes.rs - 导入和选项似乎没有正确设置,结果会产生大量错误。
  2. 关注the rust test suite documentation后,我尝试了make check-stage1-std NO_REBUILD=1,但这次失败了"无法找到“绿色”"的箱子​​。 #rust-internals irc频道的一个人告诉我"半常常打破check-stage1休息,因为它不是官方方式'运行测试。"
  3. 该频道上的另一个人建议make check-stage0-std,它似乎检查了libstd,但是并没有限制对我更改的文件的测试,即使我使用了TESTNAME标志防锈测试套件文档。

1 个答案:

答案 0 :(得分:1)

如果您之前已完成完整版本,则

make check-stage1-std NO_REBUILD=1... check-stage2-std ...应该可以正常工作。他们只是直接构建测试运行器,而无需执行其余的引导程序。

在任何情况下,始终构建完整的std测试运行器,因为正如您所注意到的那样,导入等已设置为完整的包。 TESTNAME是限制运行哪些测试的正确方法,但是没有办法限制测试的构建。

另一种选择是将测试/相关代码拉入外部文件,另一种选择是通过rustclibstd/lib.rs手动运行rustc --test lib.rs来构建测试运行器。可以编辑其余的箱子以删除您不感兴趣的测试/代码。