about summary refs log tree commit diff
path: root/src/test
diff options
context:
space:
mode:
authorMazdak Farrokhzad <twingoow@gmail.com>2019-11-20 18:32:04 +0100
committerGitHub <noreply@github.com>2019-11-20 18:32:04 +0100
commite32397a75404d3e23701a727ebba753e391c1471 (patch)
treee0b1b353d1b6e6d185d96780fc85e92725ab8b57 /src/test
parentb9cf5417892ef242c783ef963deff5436205b0f6 (diff)
parente01d9415e26dfcdd31c182bec21049502f5477ff (diff)
downloadrust-e32397a75404d3e23701a727ebba753e391c1471.tar.gz
rust-e32397a75404d3e23701a727ebba753e391c1471.zip
Rollup merge of #66060 - traxys:test_65401, r=michaelwoerister
Making ICEs and test them in incremental

This adds:
 - A way to make the compiler ICE
 - A way to check for ICE in `cfail` tests with `should-ice`
 - A regression test for issue #65401

I am not sure the attribute added `should-ice` is the best for this job
Diffstat (limited to 'src/test')
-rw-r--r--src/test/incremental/delayed_span_bug.rs8
-rw-r--r--src/test/ui/associated-types/bound-lifetime-constrained.rs2
-rw-r--r--src/test/ui/associated-types/bound-lifetime-in-binding-only.ok.stderr2
-rw-r--r--src/test/ui/associated-types/bound-lifetime-in-binding-only.rs2
-rw-r--r--src/test/ui/associated-types/bound-lifetime-in-return-only.ok.stderr2
-rw-r--r--src/test/ui/associated-types/bound-lifetime-in-return-only.rs2
-rw-r--r--src/test/ui/associated-types/cache/project-fn-ret-contravariant.ok.stderr2
-rw-r--r--src/test/ui/associated-types/cache/project-fn-ret-contravariant.oneuse.stderr2
-rw-r--r--src/test/ui/associated-types/cache/project-fn-ret-contravariant.rs4
-rw-r--r--src/test/ui/associated-types/cache/project-fn-ret-invariant.ok.stderr2
-rw-r--r--src/test/ui/associated-types/cache/project-fn-ret-invariant.rs2
-rw-r--r--src/test/ui/associated-types/higher-ranked-projection.good.stderr2
-rw-r--r--src/test/ui/associated-types/higher-ranked-projection.rs2
-rw-r--r--src/test/ui/hr-subtype/hr-subtype.bound_a_vs_bound_a.stderr2
-rw-r--r--src/test/ui/hr-subtype/hr-subtype.bound_a_vs_bound_b.stderr2
-rw-r--r--src/test/ui/hr-subtype/hr-subtype.bound_co_a_vs_bound_co_b.stderr2
-rw-r--r--src/test/ui/hr-subtype/hr-subtype.bound_inv_a_vs_bound_inv_b.stderr2
-rw-r--r--src/test/ui/hr-subtype/hr-subtype.free_x_vs_free_x.stderr2
-rw-r--r--src/test/ui/hr-subtype/hr-subtype.rs10
-rw-r--r--src/test/ui/proc-macro/no-macro-use-attr.rs2
-rw-r--r--src/test/ui/proc-macro/no-macro-use-attr.stderr2
-rw-r--r--src/test/ui/rfc1445/feature-gate.rs2
-rw-r--r--src/test/ui/rfc1445/feature-gate.with_gate.stderr2
-rw-r--r--src/test/ui/rustc-error.rs2
-rw-r--r--src/test/ui/rustc-error.stderr2
25 files changed, 37 insertions, 29 deletions
diff --git a/src/test/incremental/delayed_span_bug.rs b/src/test/incremental/delayed_span_bug.rs
new file mode 100644
index 00000000000..2529e531e30
--- /dev/null
+++ b/src/test/incremental/delayed_span_bug.rs
@@ -0,0 +1,8 @@
+// revisions: cfail1 cfail2
+// should-ice
+// error-pattern: delayed span bug triggered by #[rustc_error(delay_span_bug_from_inside_query)]
+
+#![feature(rustc_attrs)]
+
+#[rustc_error(delay_span_bug_from_inside_query)]
+fn main() {}
diff --git a/src/test/ui/associated-types/bound-lifetime-constrained.rs b/src/test/ui/associated-types/bound-lifetime-constrained.rs
index fb82b3fa666..4e6754c865d 100644
--- a/src/test/ui/associated-types/bound-lifetime-constrained.rs
+++ b/src/test/ui/associated-types/bound-lifetime-constrained.rs
@@ -45,4 +45,4 @@ fn clause2<T>() where T: for<'a> Fn() -> <() as Foo<'a>>::Item {
 }
 
 #[rustc_error]
-fn main() { } //[ok]~ ERROR compilation successful
+fn main() { } //[ok]~ ERROR fatal error triggered by #[rustc_error]
diff --git a/src/test/ui/associated-types/bound-lifetime-in-binding-only.ok.stderr b/src/test/ui/associated-types/bound-lifetime-in-binding-only.ok.stderr
index fcdb371a6e5..5ece425196c 100644
--- a/src/test/ui/associated-types/bound-lifetime-in-binding-only.ok.stderr
+++ b/src/test/ui/associated-types/bound-lifetime-in-binding-only.ok.stderr
@@ -1,4 +1,4 @@
-error: compilation successful
+error: fatal error triggered by #[rustc_error]
   --> $DIR/bound-lifetime-in-binding-only.rs:71:1
    |
 LL | fn main() { }
diff --git a/src/test/ui/associated-types/bound-lifetime-in-binding-only.rs b/src/test/ui/associated-types/bound-lifetime-in-binding-only.rs
index 843f5f06195..e714457ef7b 100644
--- a/src/test/ui/associated-types/bound-lifetime-in-binding-only.rs
+++ b/src/test/ui/associated-types/bound-lifetime-in-binding-only.rs
@@ -68,4 +68,4 @@ fn ok3<T>() where for<'a> Parameterized<'a>: Foo<Item=&'a i32> {
 }
 
 #[rustc_error]
-fn main() { } //[ok]~ ERROR compilation successful
+fn main() { } //[ok]~ ERROR fatal error triggered by #[rustc_error]
diff --git a/src/test/ui/associated-types/bound-lifetime-in-return-only.ok.stderr b/src/test/ui/associated-types/bound-lifetime-in-return-only.ok.stderr
index 504d68e66e2..8c098098311 100644
--- a/src/test/ui/associated-types/bound-lifetime-in-return-only.ok.stderr
+++ b/src/test/ui/associated-types/bound-lifetime-in-return-only.ok.stderr
@@ -1,4 +1,4 @@
-error: compilation successful
+error: fatal error triggered by #[rustc_error]
   --> $DIR/bound-lifetime-in-return-only.rs:49:1
    |
 LL | fn main() { }
diff --git a/src/test/ui/associated-types/bound-lifetime-in-return-only.rs b/src/test/ui/associated-types/bound-lifetime-in-return-only.rs
index 9c0dc61494d..a60ccb6c4b2 100644
--- a/src/test/ui/associated-types/bound-lifetime-in-return-only.rs
+++ b/src/test/ui/associated-types/bound-lifetime-in-return-only.rs
@@ -46,4 +46,4 @@ fn ok2(_: &dyn for<'a,'b> Fn<(&'b Parameterized<'a>,), Output=&'a i32>) {
 }
 
 #[rustc_error]
-fn main() { } //[ok]~ ERROR compilation successful
+fn main() { } //[ok]~ ERROR fatal error triggered by #[rustc_error]
diff --git a/src/test/ui/associated-types/cache/project-fn-ret-contravariant.ok.stderr b/src/test/ui/associated-types/cache/project-fn-ret-contravariant.ok.stderr
index 15bbea671c5..baa8e6f82f6 100644
--- a/src/test/ui/associated-types/cache/project-fn-ret-contravariant.ok.stderr
+++ b/src/test/ui/associated-types/cache/project-fn-ret-contravariant.ok.stderr
@@ -1,4 +1,4 @@
-error: compilation successful
+error: fatal error triggered by #[rustc_error]
   --> $DIR/project-fn-ret-contravariant.rs:50:1
    |
 LL | fn main() { }
diff --git a/src/test/ui/associated-types/cache/project-fn-ret-contravariant.oneuse.stderr b/src/test/ui/associated-types/cache/project-fn-ret-contravariant.oneuse.stderr
index 15bbea671c5..baa8e6f82f6 100644
--- a/src/test/ui/associated-types/cache/project-fn-ret-contravariant.oneuse.stderr
+++ b/src/test/ui/associated-types/cache/project-fn-ret-contravariant.oneuse.stderr
@@ -1,4 +1,4 @@
-error: compilation successful
+error: fatal error triggered by #[rustc_error]
   --> $DIR/project-fn-ret-contravariant.rs:50:1
    |
 LL | fn main() { }
diff --git a/src/test/ui/associated-types/cache/project-fn-ret-contravariant.rs b/src/test/ui/associated-types/cache/project-fn-ret-contravariant.rs
index d953325df23..ebf52918153 100644
--- a/src/test/ui/associated-types/cache/project-fn-ret-contravariant.rs
+++ b/src/test/ui/associated-types/cache/project-fn-ret-contravariant.rs
@@ -48,5 +48,5 @@ fn transmute<'a,'b>(x: &'a u32, y: &'b u32) -> (&'a u32, &'b u32) {
 
 #[rustc_error]
 fn main() { }
-//[ok]~^ ERROR compilation successful
-//[oneuse]~^^ ERROR compilation successful
+//[ok]~^ ERROR fatal error triggered by #[rustc_error]
+//[oneuse]~^^ ERROR fatal error triggered by #[rustc_error]
diff --git a/src/test/ui/associated-types/cache/project-fn-ret-invariant.ok.stderr b/src/test/ui/associated-types/cache/project-fn-ret-invariant.ok.stderr
index 8110ed40cfe..8f445acf2b9 100644
--- a/src/test/ui/associated-types/cache/project-fn-ret-invariant.ok.stderr
+++ b/src/test/ui/associated-types/cache/project-fn-ret-invariant.ok.stderr
@@ -1,4 +1,4 @@
-error: compilation successful
+error: fatal error triggered by #[rustc_error]
   --> $DIR/project-fn-ret-invariant.rs:59:1
    |
 LL | fn main() { }
diff --git a/src/test/ui/associated-types/cache/project-fn-ret-invariant.rs b/src/test/ui/associated-types/cache/project-fn-ret-invariant.rs
index 54b6e3642c2..23d873212ed 100644
--- a/src/test/ui/associated-types/cache/project-fn-ret-invariant.rs
+++ b/src/test/ui/associated-types/cache/project-fn-ret-invariant.rs
@@ -57,4 +57,4 @@ fn transmute<'a,'b>(x: Type<'a>, y: Type<'b>) -> (Type<'a>, Type<'b>) {
 
 #[rustc_error]
 fn main() { }
-//[ok]~^ ERROR compilation successful
+//[ok]~^ ERROR fatal error triggered by #[rustc_error]
diff --git a/src/test/ui/associated-types/higher-ranked-projection.good.stderr b/src/test/ui/associated-types/higher-ranked-projection.good.stderr
index 16fef0510f8..63d88543607 100644
--- a/src/test/ui/associated-types/higher-ranked-projection.good.stderr
+++ b/src/test/ui/associated-types/higher-ranked-projection.good.stderr
@@ -1,4 +1,4 @@
-error: compilation successful
+error: fatal error triggered by #[rustc_error]
   --> $DIR/higher-ranked-projection.rs:24:1
    |
 LL | / fn main() {
diff --git a/src/test/ui/associated-types/higher-ranked-projection.rs b/src/test/ui/associated-types/higher-ranked-projection.rs
index a2ea6d8f206..5315e21b0f5 100644
--- a/src/test/ui/associated-types/higher-ranked-projection.rs
+++ b/src/test/ui/associated-types/higher-ranked-projection.rs
@@ -21,7 +21,7 @@ fn foo<U, T>(_t: T)
 {}
 
 #[rustc_error]
-fn main() { //[good]~ ERROR compilation successful
+fn main() { //[good]~ ERROR fatal error triggered by #[rustc_error]
     foo(());
     //[bad]~^ ERROR type mismatch
 }
diff --git a/src/test/ui/hr-subtype/hr-subtype.bound_a_vs_bound_a.stderr b/src/test/ui/hr-subtype/hr-subtype.bound_a_vs_bound_a.stderr
index 9ec36f4c142..6aba6466fad 100644
--- a/src/test/ui/hr-subtype/hr-subtype.bound_a_vs_bound_a.stderr
+++ b/src/test/ui/hr-subtype/hr-subtype.bound_a_vs_bound_a.stderr
@@ -1,4 +1,4 @@
-error: compilation successful
+error: fatal error triggered by #[rustc_error]
   --> $DIR/hr-subtype.rs:100:1
    |
 LL | / fn main() {
diff --git a/src/test/ui/hr-subtype/hr-subtype.bound_a_vs_bound_b.stderr b/src/test/ui/hr-subtype/hr-subtype.bound_a_vs_bound_b.stderr
index 9ec36f4c142..6aba6466fad 100644
--- a/src/test/ui/hr-subtype/hr-subtype.bound_a_vs_bound_b.stderr
+++ b/src/test/ui/hr-subtype/hr-subtype.bound_a_vs_bound_b.stderr
@@ -1,4 +1,4 @@
-error: compilation successful
+error: fatal error triggered by #[rustc_error]
   --> $DIR/hr-subtype.rs:100:1
    |
 LL | / fn main() {
diff --git a/src/test/ui/hr-subtype/hr-subtype.bound_co_a_vs_bound_co_b.stderr b/src/test/ui/hr-subtype/hr-subtype.bound_co_a_vs_bound_co_b.stderr
index 9ec36f4c142..6aba6466fad 100644
--- a/src/test/ui/hr-subtype/hr-subtype.bound_co_a_vs_bound_co_b.stderr
+++ b/src/test/ui/hr-subtype/hr-subtype.bound_co_a_vs_bound_co_b.stderr
@@ -1,4 +1,4 @@
-error: compilation successful
+error: fatal error triggered by #[rustc_error]
   --> $DIR/hr-subtype.rs:100:1
    |
 LL | / fn main() {
diff --git a/src/test/ui/hr-subtype/hr-subtype.bound_inv_a_vs_bound_inv_b.stderr b/src/test/ui/hr-subtype/hr-subtype.bound_inv_a_vs_bound_inv_b.stderr
index 9ec36f4c142..6aba6466fad 100644
--- a/src/test/ui/hr-subtype/hr-subtype.bound_inv_a_vs_bound_inv_b.stderr
+++ b/src/test/ui/hr-subtype/hr-subtype.bound_inv_a_vs_bound_inv_b.stderr
@@ -1,4 +1,4 @@
-error: compilation successful
+error: fatal error triggered by #[rustc_error]
   --> $DIR/hr-subtype.rs:100:1
    |
 LL | / fn main() {
diff --git a/src/test/ui/hr-subtype/hr-subtype.free_x_vs_free_x.stderr b/src/test/ui/hr-subtype/hr-subtype.free_x_vs_free_x.stderr
index 9ec36f4c142..6aba6466fad 100644
--- a/src/test/ui/hr-subtype/hr-subtype.free_x_vs_free_x.stderr
+++ b/src/test/ui/hr-subtype/hr-subtype.free_x_vs_free_x.stderr
@@ -1,4 +1,4 @@
-error: compilation successful
+error: fatal error triggered by #[rustc_error]
   --> $DIR/hr-subtype.rs:100:1
    |
 LL | / fn main() {
diff --git a/src/test/ui/hr-subtype/hr-subtype.rs b/src/test/ui/hr-subtype/hr-subtype.rs
index 2f7c1e6fd8c..b31f198bd97 100644
--- a/src/test/ui/hr-subtype/hr-subtype.rs
+++ b/src/test/ui/hr-subtype/hr-subtype.rs
@@ -98,9 +98,9 @@ check! { bound_a_b_ret_a_vs_bound_a_ret_a: (for<'a,'b> fn(&'a u32, &'b u32) -> &
 
 #[rustc_error]
 fn main() {
-//[bound_a_vs_bound_a]~^ ERROR compilation successful
-//[bound_a_vs_bound_b]~^^ ERROR compilation successful
-//[bound_inv_a_vs_bound_inv_b]~^^^ ERROR compilation successful
-//[bound_co_a_vs_bound_co_b]~^^^^ ERROR compilation successful
-//[free_x_vs_free_x]~^^^^^ ERROR compilation successful
+//[bound_a_vs_bound_a]~^ ERROR fatal error triggered by #[rustc_error]
+//[bound_a_vs_bound_b]~^^ ERROR fatal error triggered by #[rustc_error]
+//[bound_inv_a_vs_bound_inv_b]~^^^ ERROR fatal error triggered by #[rustc_error]
+//[bound_co_a_vs_bound_co_b]~^^^^ ERROR fatal error triggered by #[rustc_error]
+//[free_x_vs_free_x]~^^^^^ ERROR fatal error triggered by #[rustc_error]
 }
diff --git a/src/test/ui/proc-macro/no-macro-use-attr.rs b/src/test/ui/proc-macro/no-macro-use-attr.rs
index 15ab431fe75..a8a8fa4e19a 100644
--- a/src/test/ui/proc-macro/no-macro-use-attr.rs
+++ b/src/test/ui/proc-macro/no-macro-use-attr.rs
@@ -7,4 +7,4 @@ extern crate test_macros;
 //~^ WARN unused extern crate
 
 #[rustc_error]
-fn main() {} //~ ERROR compilation successful
+fn main() {} //~ ERROR fatal error triggered by #[rustc_error]
diff --git a/src/test/ui/proc-macro/no-macro-use-attr.stderr b/src/test/ui/proc-macro/no-macro-use-attr.stderr
index 87487bcc7d6..50552ea7dbb 100644
--- a/src/test/ui/proc-macro/no-macro-use-attr.stderr
+++ b/src/test/ui/proc-macro/no-macro-use-attr.stderr
@@ -10,7 +10,7 @@ note: lint level defined here
 LL | #![warn(unused_extern_crates)]
    |         ^^^^^^^^^^^^^^^^^^^^
 
-error: compilation successful
+error: fatal error triggered by #[rustc_error]
   --> $DIR/no-macro-use-attr.rs:10:1
    |
 LL | fn main() {}
diff --git a/src/test/ui/rfc1445/feature-gate.rs b/src/test/ui/rfc1445/feature-gate.rs
index 38d6406efa5..21addfab8f5 100644
--- a/src/test/ui/rfc1445/feature-gate.rs
+++ b/src/test/ui/rfc1445/feature-gate.rs
@@ -18,7 +18,7 @@ struct Foo {
 const FOO: Foo = Foo { x: 0 };
 
 #[rustc_error]
-fn main() { //[with_gate]~ ERROR compilation successful
+fn main() { //[with_gate]~ ERROR fatal error triggered by #[rustc_error]
     let y = Foo { x: 1 };
     match y {
         FOO => { }
diff --git a/src/test/ui/rfc1445/feature-gate.with_gate.stderr b/src/test/ui/rfc1445/feature-gate.with_gate.stderr
index ca8dc75c533..fabbfd5c70b 100644
--- a/src/test/ui/rfc1445/feature-gate.with_gate.stderr
+++ b/src/test/ui/rfc1445/feature-gate.with_gate.stderr
@@ -1,4 +1,4 @@
-error: compilation successful
+error: fatal error triggered by #[rustc_error]
   --> $DIR/feature-gate.rs:21:1
    |
 LL | / fn main() {
diff --git a/src/test/ui/rustc-error.rs b/src/test/ui/rustc-error.rs
index 0504198032c..69d57948fb5 100644
--- a/src/test/ui/rustc-error.rs
+++ b/src/test/ui/rustc-error.rs
@@ -2,5 +2,5 @@
 
 #[rustc_error]
 fn main() {
-    //~^ ERROR compilation successful
+    //~^ ERROR fatal error triggered by #[rustc_error]
 }
diff --git a/src/test/ui/rustc-error.stderr b/src/test/ui/rustc-error.stderr
index dcbc0e1feb2..7dfc4449295 100644
--- a/src/test/ui/rustc-error.stderr
+++ b/src/test/ui/rustc-error.stderr
@@ -1,4 +1,4 @@
-error: compilation successful
+error: fatal error triggered by #[rustc_error]
   --> $DIR/rustc-error.rs:4:1
    |
 LL | / fn main() {