about summary refs log tree commit diff
diff options
context:
space:
mode:
authorZalathar <Zalathar@users.noreply.github.com>2024-10-14 22:40:13 +1100
committerZalathar <Zalathar@users.noreply.github.com>2024-10-14 22:55:51 +1100
commitc6e1fbf8ebbbec0d7b2deee86a1bc67ec98e1541 (patch)
tree641294498559c29ecbc64c4b4186a812620e3e99
parentf6648f252a05a0a46c865d7ec836b46290613bf9 (diff)
downloadrust-c6e1fbf8ebbbec0d7b2deee86a1bc67ec98e1541.tar.gz
rust-c6e1fbf8ebbbec0d7b2deee86a1bc67ec98e1541.zip
Fix up-to-date checking for run-make tests
This special case in `output_base_dir` had the unfortunate side-effect of
causing all run-make tests to share the same `stamp` file. So as soon as any
one of them succeeded, all of the failed tests would be considered up-to-date
and would no longer run in subsequent test invocations.
-rw-r--r--src/tools/compiletest/src/common.rs10
-rw-r--r--tests/run-make/README.md2
2 files changed, 3 insertions, 9 deletions
diff --git a/src/tools/compiletest/src/common.rs b/src/tools/compiletest/src/common.rs
index a5418ad8384..1ee00a3a4e8 100644
--- a/src/tools/compiletest/src/common.rs
+++ b/src/tools/compiletest/src/common.rs
@@ -759,14 +759,8 @@ pub fn output_testname_unique(
 /// test/revision should reside. Example:
 ///   /path/to/build/host-triple/test/ui/relative/testname.revision.mode/
 pub fn output_base_dir(config: &Config, testpaths: &TestPaths, revision: Option<&str>) -> PathBuf {
-    // In run-make tests, constructing a relative path + unique testname causes a double layering
-    // since revisions are not supported, causing unnecessary nesting.
-    if config.mode == Mode::RunMake {
-        output_relative_path(config, &testpaths.relative_dir)
-    } else {
-        output_relative_path(config, &testpaths.relative_dir)
-            .join(output_testname_unique(config, testpaths, revision))
-    }
+    output_relative_path(config, &testpaths.relative_dir)
+        .join(output_testname_unique(config, testpaths, revision))
 }
 
 /// Absolute path to the base filename used as output for the given
diff --git a/tests/run-make/README.md b/tests/run-make/README.md
index 40359903473..9e1eaa881c9 100644
--- a/tests/run-make/README.md
+++ b/tests/run-make/README.md
@@ -29,7 +29,7 @@ The setup for the `rmake.rs` version is a 3-stage process:
    structure within `build/<target>/test/run-make/`
 
    ```
-   <test-name>/
+   <test-name>/<test-name>/
        rmake.exe              # recipe binary
        rmake_out/             # sources from test sources copied over
    ```