Skip to content

bootstrap: "test library/core --stage 2" does not actually test stage 2 #118233

@RalfJung

Description

@RalfJung

./x.py test library/core --stage 1 builds the stage1 compiler, then uses that to build libcore, and then tests that. That's all working as intended, then only strange part is the output it prints:

Testing  {core} (stage1 -> stage2, x86_64-unknown-linux-gnu)

There's no stage 2 involved here, so this makes little sense to me.

However, ./x.py test library/core --stage 2 should be building the stage 2 compiler, use that to build libcore, and then test that. However that's not happening, I don't even get the second rustc build for this command:

$ ./x.py test library/core --stage 2
Building bootstrap
    Finished dev [unoptimized] target(s) in 0.02s
Building stage0 library artifacts (x86_64-unknown-linux-gnu)
    Finished release [optimized + debuginfo] target(s) in 0.06s
Building compiler artifacts (stage0 -> stage1, x86_64-unknown-linux-gnu)
    Finished release [optimized + debuginfo] target(s) in 0.10s
Creating a sysroot for stage1 compiler (use `rustup toolchain link 'name' build/host/stage1`)
Building stage1 library artifacts (x86_64-unknown-linux-gnu)
    Finished release [optimized + debuginfo] target(s) in 0.06s
Building tool rustdoc (stage0 -> stage1, x86_64-unknown-linux-gnu)
    Finished release [optimized + debuginfo] target(s) in 0.07s
Testing  {core} (stage1 -> stage2, x86_64-unknown-linux-gnu)
    Finished release [optimized + debuginfo] target(s) in 0.06s
     Running tests/lib.rs (build/x86_64-unknown-linux-gnu/stage1-std/x86_64-unknown-linux-gnu/release/deps/coretests-e9f28340ff8f3e51)

running 1647 tests

That's a problem because when I use this command I specifically want to test the libcore that was built by the rustc that was built by the current source code -- I want to go around the bootstrap loop.

Cc @rust-lang/bootstrap

Metadata

Metadata

Assignees

Labels

A-bootstrap-stagesArea: issues with the meaning of stage numbersT-bootstrapRelevant to the bootstrap subteam: Rust's build system (x.py and src/bootstrap)

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions