diff options
| author | Ralf Jung <post@ralfj.de> | 2025-07-12 09:39:29 +0200 |
|---|---|---|
| committer | Ralf Jung <post@ralfj.de> | 2025-07-12 09:40:35 +0200 |
| commit | b0e4c3594f4d52ffde5281bae752e5ff05bd029c (patch) | |
| tree | 15b0aafc12e626761c4c8491044a91815694b056 | |
| parent | 855e0fe46e68d94e9f6147531b75ac2d488c548e (diff) | |
| download | rust-b0e4c3594f4d52ffde5281bae752e5ff05bd029c.tar.gz rust-b0e4c3594f4d52ffde5281bae752e5ff05bd029c.zip | |
./x test miri: fix cleaning the miri_ui directory
| -rw-r--r-- | src/bootstrap/src/core/build_steps/test.rs | 9 | ||||
| -rw-r--r-- | src/tools/miri/tests/ui.rs | 2 |
2 files changed, 9 insertions, 2 deletions
diff --git a/src/bootstrap/src/core/build_steps/test.rs b/src/bootstrap/src/core/build_steps/test.rs index 716bef3f38c..5dbfd522844 100644 --- a/src/bootstrap/src/core/build_steps/test.rs +++ b/src/bootstrap/src/core/build_steps/test.rs @@ -556,8 +556,13 @@ impl Step for Miri { // Miri has its own "target dir" for ui test dependencies. Make sure it gets cleared when // the sysroot gets rebuilt, to avoid "found possibly newer version of crate `std`" errors. if !builder.config.dry_run() { - let ui_test_dep_dir = - builder.stage_out(miri.build_compiler, Mode::ToolStd).join("miri_ui"); + // This has to match `CARGO_TARGET_TMPDIR` in Miri's `ui.rs`. + // This means we need `host` here as that's the target `ui.rs` is built for. + let ui_test_dep_dir = builder + .stage_out(miri.build_compiler, Mode::ToolStd) + .join(host) + .join("tmp") + .join("miri_ui"); // The mtime of `miri_sysroot` changes when the sysroot gets rebuilt (also see // <https://github.com/RalfJung/rustc-build-sysroot/commit/10ebcf60b80fe2c3dc765af0ff19fdc0da4b7466>). // We can hence use that directly as a signal to clear the ui test dir. diff --git a/src/tools/miri/tests/ui.rs b/src/tools/miri/tests/ui.rs index 5239f8338ee..43f855d57dd 100644 --- a/src/tools/miri/tests/ui.rs +++ b/src/tools/miri/tests/ui.rs @@ -97,6 +97,8 @@ fn miri_config( let mut config = Config { target: Some(target.to_owned()), program, + // When changing this, remember to also adjust the logic in bootstrap, in Miri's test step, + // that deletes the `miri_ui` dir when it needs a rebuild. out_dir: PathBuf::from(env!("CARGO_TARGET_TMPDIR")).join("miri_ui"), threads: std::env::var("MIRI_TEST_THREADS") .ok() |
