From 5c0371072fb0b024ac3f3980c9283239ba603efb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jakub=20Ber=C3=A1nek?= Date: Fri, 15 Aug 2025 20:02:32 +0200 Subject: [PATCH] Add snapshot test for `x install` --- src/bootstrap/src/core/builder/tests.rs | 66 +++++++++++++++++++++++++ src/bootstrap/src/utils/tests/mod.rs | 4 ++ 2 files changed, 70 insertions(+) diff --git a/src/bootstrap/src/core/builder/tests.rs b/src/bootstrap/src/core/builder/tests.rs index 05987b953518..08b1b4ac19ad 100644 --- a/src/bootstrap/src/core/builder/tests.rs +++ b/src/bootstrap/src/core/builder/tests.rs @@ -2265,6 +2265,72 @@ mod snapshot { .path("bootstrap") .render_steps(), @"[clippy] rustc 0 -> bootstrap 1 "); } + + #[test] + fn install_extended() { + let ctx = TestCtx::new(); + insta::assert_snapshot!( + ctx.config("install") + .args(&[ + "--set", &format!("install.prefix={}", ctx.dir().display()), + "--set", &format!("install.sysconfdir={}", ctx.dir().display()), + "--set", "build.extended=true" + ]) + .render_steps(), @r" + [build] llvm + [build] rustc 0 -> rustc 1 + [build] rustc 0 -> WasmComponentLd 1 + [build] rustc 1 -> std 1 + [build] rustc 1 -> rustc 2 + [build] rustc 1 -> WasmComponentLd 2 + [build] rustc 0 -> UnstableBookGen 1 + [build] rustc 0 -> Rustbook 1 + [doc] unstable-book (book) + [doc] book (book) + [doc] book/first-edition (book) + [doc] book/second-edition (book) + [doc] book/2018-edition (book) + [build] rustdoc 1 + [doc] rustc 1 -> standalone 2 + [build] rustdoc 2 + [doc] rustc 2 -> std 2 crates=[alloc,compiler_builtins,core,panic_abort,panic_unwind,proc_macro,rustc-std-workspace-core,std,std_detect,sysroot,test,unwind] + [build] rustc 1 -> error-index 2 + [doc] rustc 1 -> error-index 2 + [doc] nomicon (book) + [doc] rustc 1 -> reference (book) 2 + [doc] rustdoc (book) + [doc] rust-by-example (book) + [build] rustc 0 -> LintDocs 1 + [doc] rustc (book) + [doc] cargo (book) + [doc] clippy (book) + [doc] embedded-book (book) + [doc] edition-guide (book) + [doc] style-guide (book) + [doc] rustc 1 -> releases 2 + [build] rustc 0 -> RustInstaller 1 + [dist] docs + [build] rustc 2 -> std 2 + [dist] rustc 2 -> std 2 + [build] rustc 1 -> rust-analyzer-proc-macro-srv 2 + [build] rustc 0 -> GenerateCopyright 1 + [dist] rustc + [build] rustc 2 -> cargo 3 + [dist] rustc 2 -> cargo 3 + [build] rustc 2 -> rustc 3 + [build] rustc 2 -> WasmComponentLd 3 + [build] rustc 2 -> rust-analyzer 3 + [dist] rustc 2 -> rust-analyzer 3 + [build] rustc 2 -> rustfmt 3 + [build] rustc 2 -> cargo-fmt 3 + [build] rustc 2 -> clippy-driver 3 + [build] rustc 2 -> cargo-clippy 3 + [dist] rustc 2 -> clippy 3 + [build] rustc 2 -> miri 3 + [build] rustc 2 -> cargo-miri 3 + [dist] src <> + "); + } } struct ExecutedSteps { diff --git a/src/bootstrap/src/utils/tests/mod.rs b/src/bootstrap/src/utils/tests/mod.rs index 983680b0385c..3332187e2a85 100644 --- a/src/bootstrap/src/utils/tests/mod.rs +++ b/src/bootstrap/src/utils/tests/mod.rs @@ -31,6 +31,10 @@ impl TestCtx { Self { directory } } + pub fn dir(&self) -> &Path { + self.directory.path() + } + /// Starts a new invocation of bootstrap that executes `kind` as its top level command /// (i.e. `x `). Returns a builder that configures the created config through CLI flags. pub fn config(&self, kind: &str) -> ConfigBuilder {