about summary refs log tree commit diff
diff options
context:
space:
mode:
authorStuart Cook <Zalathar@users.noreply.github.com>2025-08-19 14:18:24 +1000
committerGitHub <noreply@github.com>2025-08-19 14:18:24 +1000
commit02848e7d25e2a5f46a7548c7ca4b0e8f9f730061 (patch)
tree27e2e2a392b587375b506fd3d30530334ba71c0a
parent11c6d898b6f1e47c55b91e794c114ba79b301f1a (diff)
parent79d30067f3bc8f701ceb33cca11d02ea29a24659 (diff)
downloadrust-02848e7d25e2a5f46a7548c7ca4b0e8f9f730061.tar.gz
rust-02848e7d25e2a5f46a7548c7ca4b0e8f9f730061.zip
Rollup merge of #145405 - durin42:test-cleanup-tmpdir, r=lqd
cleanup: use run_in_tmpdir in run-make/rustdoc-scrape-examples-paths

We had an issue on our LLVM-head Rust builder where it got stuck with this test failing because it was reusing the tmpdir between runs and something broke the incremental compile. Everything seems to work fine with run_in_tmpdir in this test. tests/run-make/uefi-qemu also uses the same tmpdir across runs, but I don't have the right environment to test that so I didn't try fixing it. That is the only use of std::env::temp_dir left in run-make tests after this fix.
-rw-r--r--tests/run-make/rustdoc-scrape-examples-paths/rmake.rs16
1 files changed, 8 insertions, 8 deletions
diff --git a/tests/run-make/rustdoc-scrape-examples-paths/rmake.rs b/tests/run-make/rustdoc-scrape-examples-paths/rmake.rs
index 03888f69eab..6784e438762 100644
--- a/tests/run-make/rustdoc-scrape-examples-paths/rmake.rs
+++ b/tests/run-make/rustdoc-scrape-examples-paths/rmake.rs
@@ -1,16 +1,16 @@
 //! Test to ensure that the rustdoc `scrape-examples` feature is not panicking.
 //! Regression test for <https://github.com/rust-lang/rust/issues/144752>.
 
-use run_make_support::{cargo, path, rfs};
+use run_make_support::cargo;
+use run_make_support::scoped_run::run_in_tmpdir;
 
 fn main() {
     // We copy the crate to be documented "outside" to prevent documenting
     // the whole compiler.
-    let tmp = std::env::temp_dir();
-    let test_crate = tmp.join("foo");
-    rfs::copy_dir_all(path("foo"), &test_crate);
-
-    // The `scrape-examples` feature is also implemented in `cargo` so instead of reproducing
-    // what `cargo` does, better to just let `cargo` do it.
-    cargo().current_dir(&test_crate).args(["doc", "-p", "foo", "-Zrustdoc-scrape-examples"]).run();
+    std::env::set_current_dir("foo").unwrap();
+    run_in_tmpdir(|| {
+        // The `scrape-examples` feature is also implemented in `cargo` so instead of reproducing
+        // what `cargo` does, better to just let `cargo` do it.
+        cargo().args(["doc", "-p", "foo", "-Zrustdoc-scrape-examples"]).run();
+    })
 }