gpt4 book ai didi

testing - 如何测试 Rust 标准库?

转载 作者:行者123 更新时间:2023-11-29 08:30:28 25 4
gpt4 key购买 nike

我想对我的 Rust 标准库副本进行一些更改,然后在我更改的源文件中运行测试。我不需要测试编译器本身。如果不测试很多我不更改也不关心的东西,我怎么能做到这一点?

以下是我已经尝试过的一些方法。注意 - 我想玩的特定文件是 rust 0.12.0 中的 libstd/io/net/pipes.rs

  1. 我尝试了 rustc --test pipes.rs - 导入和选项似乎没有正确设置,结果出现了大量错误。
  2. 正在关注 the rust test suite documentation ,我尝试了 make check-stage1-std NO_REBUILD=1,但这失败了“找不到 `green` 的箱子”。 #rust-internals irc channel 上的一个人告诉我,“make check-stage1 经常中断,因为它不是运行测试的‘官方方式’。”
  3. 该 channel 上的另一个人建议 make check-stage0-std,这似乎检查了 libstd,但不限制测试我更改的文件,即使我使用 TESTNAME 标记在 Rust 测试套件文档中指定。

最佳答案

截至 2022 年,运行 Rust 标准库测试套件的方式记录在 https://rustc-dev-guide.rust-lang.org/tests/running.html 中。 .

虽然文档提到了测试单个文件的能力,但它似乎出现了故障

$ ./x.py test library/core/tests/str.rs
Updating only changed submodules
Submodules updated in 0.01 seconds
Building rustbuild
Finished dev [unoptimized] target(s) in 0.09s
thread 'main' panicked at 'error: no rules matched library/core/tests/str.rs', src/bootstrap/builder.rs:286:17
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
Build completed unsuccessfully in 0:00:00

稍后它提到了一种不同的语法,如 ./x.py test library/alloc/--test-args str 它似乎成功地运行了 library/alloc/中的单元测试测试/str.rs

关于testing - 如何测试 Rust 标准库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27073877/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com