about summary refs log tree commit diff
diff options
context:
space:
mode:
authorJeremy Fitzhardinge <jsgf@fb.com>2023-09-12 11:31:59 -0700
committerJeremy Fitzhardinge <jsgf@fb.com>2023-09-19 14:17:02 -0700
commitda3df9c2019beaa27da04ccf09f3a1dea6d46574 (patch)
tree0db2de3497ead9273d03c4b6c60f59420c83a6f6
parent00adbb2d5a4e490dd7838a6f9a6839e2cf197d17 (diff)
downloadrust-da3df9c2019beaa27da04ccf09f3a1dea6d46574.tar.gz
rust-da3df9c2019beaa27da04ccf09f3a1dea6d46574.zip
Add test for future-incompat diagnostics with json output
-rw-r--r--tests/ui/lint/future-incompat-json-test.rs10
-rw-r--r--tests/ui/lint/future-incompat-json-test.stderr10
2 files changed, 20 insertions, 0 deletions
diff --git a/tests/ui/lint/future-incompat-json-test.rs b/tests/ui/lint/future-incompat-json-test.rs
new file mode 100644
index 00000000000..6ccd670294c
--- /dev/null
+++ b/tests/ui/lint/future-incompat-json-test.rs
@@ -0,0 +1,10 @@
+// compile-flags: -Zfuture-incompat-test --json=future-incompat --error-format=json
+// check-pass
+
+// The `-Zfuture-incompat-test flag causes any normal warning to be included
+// in the future-incompatible report. The stderr output here should mention
+// the future incompatible report (as extracted by compiletest).
+
+fn main() {
+    let x = 1;
+}
diff --git a/tests/ui/lint/future-incompat-json-test.stderr b/tests/ui/lint/future-incompat-json-test.stderr
new file mode 100644
index 00000000000..c7db650e6e3
--- /dev/null
+++ b/tests/ui/lint/future-incompat-json-test.stderr
@@ -0,0 +1,10 @@
+{"type":"future_incompat","future_incompat_report":[{"diagnostic":{"type":"diagnostic","message":"unused variable: `x`","code":{"code":"unused_variables","explanation":null},"level":"warning","spans":[{"file_name":"$DIR/future-incompat-json-test.rs","byte_start":338,"byte_end":339,"line_start":9,"line_end":9,"column_start":9,"column_end":10,"is_primary":true,"text":[{"text":"    let x = 1;","highlight_start":9,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"`-A unused-variables` implied by `-A unused`","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"to override `-A unused` add `#[allow(unused_variables)]`","code":null,"level":"help","spans":[],"children":[],"rendered":null},{"message":"if this is intentional, prefix it with an underscore","code":null,"level":"help","spans":[{"file_name":"$DIR/future-incompat-json-test.rs","byte_start":338,"byte_end":339,"line_start":9,"line_end":9,"column_start":9,"column_end":10,"is_primary":true,"text":[{"text":"    let x = 1;","highlight_start":9,"highlight_end":10}],"label":null,"suggested_replacement":"_x","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"warning: unused variable: `x`
+  --> $DIR/future-incompat-json-test.rs:9:9
+   |
+LL |     let x = 1;
+   |         ^ help: if this is intentional, prefix it with an underscore: `_x`
+   |
+   = note: `-A unused-variables` implied by `-A unused`
+   = help: to override `-A unused` add `#[allow(unused_variables)]`
+
+"}}]}