summaryrefslogtreecommitdiffstats
path: root/src/test/ui/compiletest-self-test
diff options
context:
space:
mode:
Diffstat (limited to 'src/test/ui/compiletest-self-test')
-rw-r--r--src/test/ui/compiletest-self-test/compile-flags-last.rs7
-rw-r--r--src/test/ui/compiletest-self-test/compile-flags-last.stderr2
-rw-r--r--src/test/ui/compiletest-self-test/ui-testing-optout.rs94
-rw-r--r--src/test/ui/compiletest-self-test/ui-testing-optout.stderr27
4 files changed, 130 insertions, 0 deletions
diff --git a/src/test/ui/compiletest-self-test/compile-flags-last.rs b/src/test/ui/compiletest-self-test/compile-flags-last.rs
new file mode 100644
index 000000000..232df10f1
--- /dev/null
+++ b/src/test/ui/compiletest-self-test/compile-flags-last.rs
@@ -0,0 +1,7 @@
+// Check that the arguments provided through `// compile-flags` are added last to the command line
+// in UI tests. To ensure that we invoke rustc with a flag that expects an argument withut actually
+// providing it. If the compile-flags are not last, the test will fail as rustc will interpret the
+// next flag as the argument of this flag.
+//
+// compile-flags: --cap-lints
+// error-pattern: Argument to option 'cap-lints' missing
diff --git a/src/test/ui/compiletest-self-test/compile-flags-last.stderr b/src/test/ui/compiletest-self-test/compile-flags-last.stderr
new file mode 100644
index 000000000..d8d40a7d9
--- /dev/null
+++ b/src/test/ui/compiletest-self-test/compile-flags-last.stderr
@@ -0,0 +1,2 @@
+error: Argument to option 'cap-lints' missing
+
diff --git a/src/test/ui/compiletest-self-test/ui-testing-optout.rs b/src/test/ui/compiletest-self-test/ui-testing-optout.rs
new file mode 100644
index 000000000..88e811583
--- /dev/null
+++ b/src/test/ui/compiletest-self-test/ui-testing-optout.rs
@@ -0,0 +1,94 @@
+// compile-flags: -Z ui-testing=no
+
+// Line number < 10
+type A = B; //~ ERROR
+
+// Line number >=10, <100
+type C = D; //~ ERROR
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+// Line num >=100
+type E = F; //~ ERROR
+
+fn main() {}
diff --git a/src/test/ui/compiletest-self-test/ui-testing-optout.stderr b/src/test/ui/compiletest-self-test/ui-testing-optout.stderr
new file mode 100644
index 000000000..652c472c0
--- /dev/null
+++ b/src/test/ui/compiletest-self-test/ui-testing-optout.stderr
@@ -0,0 +1,27 @@
+error[E0412]: cannot find type `B` in this scope
+ --> $DIR/ui-testing-optout.rs:4:10
+ |
+4 | type A = B;
+ | ^ not found in this scope
+
+error[E0412]: cannot find type `D` in this scope
+ --> $DIR/ui-testing-optout.rs:7:10
+ |
+4 | type A = B;
+ | ----------- similarly named type alias `A` defined here
+...
+7 | type C = D;
+ | ^ help: a type alias with a similar name exists: `A`
+
+error[E0412]: cannot find type `F` in this scope
+ --> $DIR/ui-testing-optout.rs:92:10
+ |
+4 | type A = B;
+ | ----------- similarly named type alias `A` defined here
+...
+92 | type E = F;
+ | ^ help: a type alias with a similar name exists: `A`
+
+error: aborting due to 3 previous errors
+
+For more information about this error, try `rustc --explain E0412`.