Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Split run-make into two test suites: fast-path that don't need to build cargo and a slow-path that builds cargo #134109

Open
jieyouxu opened this issue Dec 10, 2024 · 3 comments
Assignees
Labels
A-compiletest Area: The compiletest test runner A-run-make Area: port run-make Makefiles to rmake.rs A-test-infra Area: test infrastructure (may span bootstrap/compiletest/more) A-testsuite Area: The testsuite used to check the correctness of rustc C-enhancement Category: An issue proposing an enhancement or a PR with one. E-hard Call for participation: Hard difficulty. Experience needed to fix: A lot. T-bootstrap Relevant to the bootstrap subteam: Rust's build system (x.py and src/bootstrap)

Comments

@jieyouxu
Copy link
Member

jieyouxu commented Dec 10, 2024

Building stage 1 cargo and rustdoc takes quite a bit of time and is annoying if your run-make test doesn't even need cargo/rustdoc. Building stage 1 cargo for tests that do need cargo is actually necessary because beta cargo (the usual bootstrap cargo) might not have changes that are present in nightly cargo.

@jieyouxu jieyouxu added A-test-infra Area: test infrastructure (may span bootstrap/compiletest/more) A-testsuite Area: The testsuite used to check the correctness of rustc C-enhancement Category: An issue proposing an enhancement or a PR with one. E-hard Call for participation: Hard difficulty. Experience needed to fix: A lot. T-bootstrap Relevant to the bootstrap subteam: Rust's build system (x.py and src/bootstrap) labels Dec 10, 2024
@rustbot rustbot added the needs-triage This issue may need triage. Remove it if it has been sufficiently triaged. label Dec 10, 2024
@jieyouxu jieyouxu removed the needs-triage This issue may need triage. Remove it if it has been sufficiently triaged. label Dec 10, 2024
@jieyouxu jieyouxu added the A-run-make Area: port run-make Makefiles to rmake.rs label Dec 10, 2024
@jieyouxu jieyouxu changed the title Split run-make into two set suites: fast-path that don't need to build cargo/rustdoc and a slow-path that requires these tools Split run-make into two test suites: fast-path that don't need to build cargo/rustdoc and a slow-path that requires these tools Dec 10, 2024
@jieyouxu jieyouxu added the A-compiletest Area: The compiletest test runner label Dec 10, 2024
@jieyouxu
Copy link
Member Author

This is likely going to want some run_make_support changes, such as gating the cargo() helpers behind a cfg feature that is enabled only for the slow suite.

@RalfJung
Copy link
Member

IMO rustdoc is less of an issue than cargo since it does not require a submodule to be checked out.

@jieyouxu
Copy link
Member Author

Yep. MCP is rust-lang/compiler-team#847, the current proposal is to split run-make into {run-make,run-make-cargo}. If in the future we have further dependency / developments, we can further adjust the test suite setup as suitable.

@jieyouxu jieyouxu changed the title Split run-make into two test suites: fast-path that don't need to build cargo/rustdoc and a slow-path that requires these tools Split run-make into two test suites: fast-path that don't need to build cargo and a slow-path that builds cargo Mar 20, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-compiletest Area: The compiletest test runner A-run-make Area: port run-make Makefiles to rmake.rs A-test-infra Area: test infrastructure (may span bootstrap/compiletest/more) A-testsuite Area: The testsuite used to check the correctness of rustc C-enhancement Category: An issue proposing an enhancement or a PR with one. E-hard Call for participation: Hard difficulty. Experience needed to fix: A lot. T-bootstrap Relevant to the bootstrap subteam: Rust's build system (x.py and src/bootstrap)
Projects
Development

No branches or pull requests

3 participants