about summary refs log tree commit diff
diff options
context:
space:
mode:
authorbors <bors@rust-lang.org>2022-03-29 15:18:57 +0000
committerbors <bors@rust-lang.org>2022-03-29 15:18:57 +0000
commit05d22212e89588e7c443cc6b9bc0e4e02fdfbc8d (patch)
tree830964c1ab4da553b40547027e81f0ca8a23156b
parent11909e3588319235e28e99294e17cca11db1d7e2 (diff)
parentb1c3494d88548222b7af7e8309a5446ea474319e (diff)
downloadrust-05d22212e89588e7c443cc6b9bc0e4e02fdfbc8d.tar.gz
rust-05d22212e89588e7c443cc6b9bc0e4e02fdfbc8d.zip
Auto merge of #94566 - yanganto:show-ignore-message, r=m-ou-se
Show ignore message in console and json output

- Provide ignore the message in console and JSON output
- Modify the ignore message style in the log file

related: #92714
-rw-r--r--library/test/src/console.rs2
-rw-r--r--library/test/src/formatters/json.rs13
-rw-r--r--library/test/src/formatters/pretty.rs15
-rw-r--r--src/test/run-make-fulldeps/libtest-json/Makefile2
-rw-r--r--src/test/run-make-fulldeps/libtest-json/f.rs2
-rw-r--r--src/test/run-make-fulldeps/libtest-json/output-default.json2
-rw-r--r--src/test/run-make-fulldeps/libtest-json/output-stdout-success.json2
-rw-r--r--src/test/ui/test-attrs/test-type.rs5
-rw-r--r--src/test/ui/test-attrs/test-type.run.stdout2
9 files changed, 33 insertions, 12 deletions
diff --git a/library/test/src/console.rs b/library/test/src/console.rs
index c7e8507113e..56eef8314fb 100644
--- a/library/test/src/console.rs
+++ b/library/test/src/console.rs
@@ -118,7 +118,7 @@ impl ConsoleTestState {
                     TestResult::TrIgnored => {
                         #[cfg(not(bootstrap))]
                         if let Some(msg) = ignore_message {
-                            format!("ignored, {msg}")
+                            format!("ignored: {msg}")
                         } else {
                             "ignored".to_owned()
                         }
diff --git a/library/test/src/formatters/json.rs b/library/test/src/formatters/json.rs
index c089bfc4791..737921c1e10 100644
--- a/library/test/src/formatters/json.rs
+++ b/library/test/src/formatters/json.rs
@@ -121,6 +121,19 @@ impl<T: Write> OutputFormatter for JsonFormatter<T> {
             ),
 
             TestResult::TrIgnored => {
+                #[cfg(not(bootstrap))]
+                return self.write_event(
+                    "test",
+                    desc.name.as_slice(),
+                    "ignored",
+                    exec_time,
+                    stdout,
+                    desc.ignore_message
+                        .map(|msg| format!(r#""message": "{}""#, EscapedString(msg)))
+                        .as_deref(),
+                );
+
+                #[cfg(bootstrap)]
                 self.write_event("test", desc.name.as_slice(), "ignored", exec_time, stdout, None)
             }
 
diff --git a/library/test/src/formatters/pretty.rs b/library/test/src/formatters/pretty.rs
index f55d390aa56..9b407df2190 100644
--- a/library/test/src/formatters/pretty.rs
+++ b/library/test/src/formatters/pretty.rs
@@ -45,8 +45,12 @@ impl<T: Write> PrettyFormatter<T> {
         self.write_short_result("FAILED", term::color::RED)
     }
 
-    pub fn write_ignored(&mut self) -> io::Result<()> {
-        self.write_short_result("ignored", term::color::YELLOW)
+    pub fn write_ignored(&mut self, message: Option<&'static str>) -> io::Result<()> {
+        if let Some(message) = message {
+            self.write_short_result(&format!("ignored, {}", message), term::color::YELLOW)
+        } else {
+            self.write_short_result("ignored", term::color::YELLOW)
+        }
     }
 
     pub fn write_time_failed(&mut self) -> io::Result<()> {
@@ -214,7 +218,12 @@ impl<T: Write> OutputFormatter for PrettyFormatter<T> {
         match *result {
             TestResult::TrOk => self.write_ok()?,
             TestResult::TrFailed | TestResult::TrFailedMsg(_) => self.write_failed()?,
-            TestResult::TrIgnored => self.write_ignored()?,
+            TestResult::TrIgnored => {
+                #[cfg(not(bootstrap))]
+                self.write_ignored(desc.ignore_message)?;
+                #[cfg(bootstrap)]
+                self.write_ignored(None)?;
+            }
             TestResult::TrBench(ref bs) => {
                 self.write_bench()?;
                 self.write_plain(&format!(": {}", fmt_bench_samples(bs)))?;
diff --git a/src/test/run-make-fulldeps/libtest-json/Makefile b/src/test/run-make-fulldeps/libtest-json/Makefile
index f61a1aa8410..67b5fc2ed32 100644
--- a/src/test/run-make-fulldeps/libtest-json/Makefile
+++ b/src/test/run-make-fulldeps/libtest-json/Makefile
@@ -5,7 +5,7 @@
 OUTPUT_FILE_DEFAULT := $(TMPDIR)/libtest-json-output-default.json
 OUTPUT_FILE_STDOUT_SUCCESS := $(TMPDIR)/libtest-json-output-stdout-success.json
 
-all:
+all: f.rs validate_json.py output-default.json output-stdout-success.json
 	$(RUSTC) --test f.rs
 	RUST_BACKTRACE=0 $(call RUN,f) -Z unstable-options --test-threads=1 --format=json > $(OUTPUT_FILE_DEFAULT) || true
 	RUST_BACKTRACE=0 $(call RUN,f) -Z unstable-options --test-threads=1 --format=json --show-output > $(OUTPUT_FILE_STDOUT_SUCCESS) || true
diff --git a/src/test/run-make-fulldeps/libtest-json/f.rs b/src/test/run-make-fulldeps/libtest-json/f.rs
index 95ff36bd764..edfe25086ae 100644
--- a/src/test/run-make-fulldeps/libtest-json/f.rs
+++ b/src/test/run-make-fulldeps/libtest-json/f.rs
@@ -16,7 +16,7 @@ fn c() {
 }
 
 #[test]
-#[ignore]
+#[ignore = "msg"]
 fn d() {
     assert!(false);
 }
diff --git a/src/test/run-make-fulldeps/libtest-json/output-default.json b/src/test/run-make-fulldeps/libtest-json/output-default.json
index e2c778aa865..63342abc6ef 100644
--- a/src/test/run-make-fulldeps/libtest-json/output-default.json
+++ b/src/test/run-make-fulldeps/libtest-json/output-default.json
@@ -6,5 +6,5 @@
 { "type": "test", "event": "started", "name": "c" }
 { "type": "test", "name": "c", "event": "ok" }
 { "type": "test", "event": "started", "name": "d" }
-{ "type": "test", "name": "d", "event": "ignored" }
+{ "type": "test", "name": "d", "event": "ignored", "message": "msg" }
 { "type": "suite", "event": "failed", "passed": 2, "failed": 1, "ignored": 1, "measured": 0, "filtered_out": 0, "exec_time": $TIME }
diff --git a/src/test/run-make-fulldeps/libtest-json/output-stdout-success.json b/src/test/run-make-fulldeps/libtest-json/output-stdout-success.json
index 68eb00c297e..8f19114460e 100644
--- a/src/test/run-make-fulldeps/libtest-json/output-stdout-success.json
+++ b/src/test/run-make-fulldeps/libtest-json/output-stdout-success.json
@@ -6,5 +6,5 @@
 { "type": "test", "event": "started", "name": "c" }
 { "type": "test", "name": "c", "event": "ok", "stdout": "thread 'main' panicked at 'assertion failed: false', f.rs:15:5\n" }
 { "type": "test", "event": "started", "name": "d" }
-{ "type": "test", "name": "d", "event": "ignored" }
+{ "type": "test", "name": "d", "event": "ignored", "message": "msg" }
 { "type": "suite", "event": "failed", "passed": 2, "failed": 1, "ignored": 1, "measured": 0, "filtered_out": 0, "exec_time": $TIME }
diff --git a/src/test/ui/test-attrs/test-type.rs b/src/test/ui/test-attrs/test-type.rs
index 3f0fa81373f..f99e476eaba 100644
--- a/src/test/ui/test-attrs/test-type.rs
+++ b/src/test/ui/test-attrs/test-type.rs
@@ -5,7 +5,6 @@
 // ignore-emscripten no threads support
 // run-pass
 
-
 #[test]
 fn test_ok() {
     let _a = true;
@@ -18,9 +17,9 @@ fn test_panic() {
 }
 
 #[test]
-#[ignore]
+#[ignore = "msg"]
 fn test_no_run() {
-    loop{
+    loop {
         println!("Hello, world");
     }
 }
diff --git a/src/test/ui/test-attrs/test-type.run.stdout b/src/test/ui/test-attrs/test-type.run.stdout
index be2fd8ae68c..143c13a36b7 100644
--- a/src/test/ui/test-attrs/test-type.run.stdout
+++ b/src/test/ui/test-attrs/test-type.run.stdout
@@ -1,6 +1,6 @@
 
 running 3 tests
-test test_no_run ... ignored
+test test_no_run ... ignored, msg
 test test_ok ... ok
 test test_panic - should panic ... ok