about summary refs log tree commit diff
diff options
context:
space:
mode:
authorRich Kadel <richkadel@google.com>2020-08-27 12:27:18 -0700
committerRich Kadel <richkadel@google.com>2020-08-27 12:27:18 -0700
commit55cd2433dc2f5025137a96d65bf681dd64b6f7f7 (patch)
treed1f005624ad285186b31780b2d5c959078237e87
parentbf4342114e357f2934d59e12e31e94532ddb2adf (diff)
downloadrust-55cd2433dc2f5025137a96d65bf681dd64b6f7f7.tar.gz
rust-55cd2433dc2f5025137a96d65bf681dd64b6f7f7.zip
Adds --bless support to test/run-make-fulldeps
The ability to "bless" output for some of these tests is critical to
making it practical to adapt tests to unrelated changes.

This is needed for new coverage tests, as shown in PR #75828 (or its
derivative).
-rw-r--r--src/tools/compiletest/src/runtest.rs12
1 files changed, 12 insertions, 0 deletions
diff --git a/src/tools/compiletest/src/runtest.rs b/src/tools/compiletest/src/runtest.rs
index 124a9adcab9..965b20f5202 100644
--- a/src/tools/compiletest/src/runtest.rs
+++ b/src/tools/compiletest/src/runtest.rs
@@ -2782,6 +2782,18 @@ impl<'test> TestCx<'test> {
             cmd.env("RUSTFLAGS", "-Ctarget-feature=-crt-static").env("IS_MUSL_HOST", "1");
         }
 
+        if self.config.bless {
+            cmd.env("RUSTC_BLESS_TEST", "--bless");
+            // Assume this option is active if the environment variable is "defined", with _any_ value.
+            // As an example, a `Makefile` can use this option by:
+            //
+            //   ifdef RUSTC_BLESS_TEST
+            //       cp "$(TMPDIR)"/actual_something.ext expected_something.ext
+            //   else
+            //       $(DIFF) expected_something.ext "$(TMPDIR)"/actual_something.ext
+            //   endif
+        }
+
         if self.config.target.contains("msvc") && self.config.cc != "" {
             // We need to pass a path to `lib.exe`, so assume that `cc` is `cl.exe`
             // and that `lib.exe` lives next to it.