From 698f8c2f01ea549d77d7dc3338a12e04c11057b9 Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Wed, 17 Apr 2024 14:02:58 +0200 Subject: Adding upstream version 1.64.0+dfsg1. Signed-off-by: Daniel Baumann --- src/test/ui/meta/auxiliary/env.rs | 9 +++++++++ .../ui/meta/expected-error-correct-rev.a.stderr | 16 ++++++++++++++++ src/test/ui/meta/expected-error-correct-rev.rs | 10 ++++++++++ .../ui/meta/meta-expected-error-wrong-rev.a.stderr | 16 ++++++++++++++++ src/test/ui/meta/meta-expected-error-wrong-rev.rs | 16 ++++++++++++++++ src/test/ui/meta/revision-bad.rs | 22 ++++++++++++++++++++++ src/test/ui/meta/revision-ok.rs | 21 +++++++++++++++++++++ src/test/ui/meta/rustc-env.rs | 18 ++++++++++++++++++ 8 files changed, 128 insertions(+) create mode 100644 src/test/ui/meta/auxiliary/env.rs create mode 100644 src/test/ui/meta/expected-error-correct-rev.a.stderr create mode 100644 src/test/ui/meta/expected-error-correct-rev.rs create mode 100644 src/test/ui/meta/meta-expected-error-wrong-rev.a.stderr create mode 100644 src/test/ui/meta/meta-expected-error-wrong-rev.rs create mode 100644 src/test/ui/meta/revision-bad.rs create mode 100644 src/test/ui/meta/revision-ok.rs create mode 100644 src/test/ui/meta/rustc-env.rs (limited to 'src/test/ui/meta') diff --git a/src/test/ui/meta/auxiliary/env.rs b/src/test/ui/meta/auxiliary/env.rs new file mode 100644 index 000000000..b3644d8d5 --- /dev/null +++ b/src/test/ui/meta/auxiliary/env.rs @@ -0,0 +1,9 @@ +// Check that aux builds can also use rustc-env, but environment is configured +// separately from the main test case. +// +// rustc-env:COMPILETEST_BAR=bar + +pub fn test() { + assert_eq!(option_env!("COMPILETEST_FOO"), None); + assert_eq!(env!("COMPILETEST_BAR"), "bar"); +} diff --git a/src/test/ui/meta/expected-error-correct-rev.a.stderr b/src/test/ui/meta/expected-error-correct-rev.a.stderr new file mode 100644 index 000000000..4adeebe2a --- /dev/null +++ b/src/test/ui/meta/expected-error-correct-rev.a.stderr @@ -0,0 +1,16 @@ +error[E0308]: mismatched types + --> $DIR/expected-error-correct-rev.rs:7:18 + | +LL | let x: u32 = 22_usize; + | --- ^^^^^^^^ expected `u32`, found `usize` + | | + | expected due to this + | +help: change the type of the numeric literal from `usize` to `u32` + | +LL | let x: u32 = 22_u32; + | ~~~ + +error: aborting due to previous error + +For more information about this error, try `rustc --explain E0308`. diff --git a/src/test/ui/meta/expected-error-correct-rev.rs b/src/test/ui/meta/expected-error-correct-rev.rs new file mode 100644 index 000000000..26798c3df --- /dev/null +++ b/src/test/ui/meta/expected-error-correct-rev.rs @@ -0,0 +1,10 @@ +// revisions: a + +// Counterpart to `expected-error-wrong-rev.rs` + +#[cfg(a)] +fn foo() { + let x: u32 = 22_usize; //[a]~ ERROR mismatched types +} + +fn main() { } diff --git a/src/test/ui/meta/meta-expected-error-wrong-rev.a.stderr b/src/test/ui/meta/meta-expected-error-wrong-rev.a.stderr new file mode 100644 index 000000000..87330155e --- /dev/null +++ b/src/test/ui/meta/meta-expected-error-wrong-rev.a.stderr @@ -0,0 +1,16 @@ +error[E0308]: mismatched types + --> $DIR/meta-expected-error-wrong-rev.rs:13:18 + | +LL | let x: u32 = 22_usize; + | --- ^^^^^^^^ expected `u32`, found `usize` + | | + | expected due to this + | +help: change the type of the numeric literal from `usize` to `u32` + | +LL | let x: u32 = 22_u32; + | ~~~ + +error: aborting due to previous error + +For more information about this error, try `rustc --explain E0308`. diff --git a/src/test/ui/meta/meta-expected-error-wrong-rev.rs b/src/test/ui/meta/meta-expected-error-wrong-rev.rs new file mode 100644 index 000000000..c30d4fe0a --- /dev/null +++ b/src/test/ui/meta/meta-expected-error-wrong-rev.rs @@ -0,0 +1,16 @@ +// ignore-compare-mode-polonius + +// revisions: a +// should-fail + +// This is a "meta-test" of the compilertest framework itself. In +// particular, it includes the right error message, but the message +// targets the wrong revision, so we expect the execution to fail. +// See also `meta-expected-error-correct-rev.rs`. + +#[cfg(a)] +fn foo() { + let x: u32 = 22_usize; //[b]~ ERROR mismatched types +} + +fn main() { } diff --git a/src/test/ui/meta/revision-bad.rs b/src/test/ui/meta/revision-bad.rs new file mode 100644 index 000000000..37ddbe99a --- /dev/null +++ b/src/test/ui/meta/revision-bad.rs @@ -0,0 +1,22 @@ +// Meta test for compiletest: check that when we give the wrong error +// patterns, the test fails. + +// run-fail +// revisions: foo bar +// should-fail +// needs-run-enabled +//[foo] error-pattern:bar +//[bar] error-pattern:foo + +#[cfg(foo)] +fn die() { + panic!("foo"); +} +#[cfg(bar)] +fn die() { + panic!("bar"); +} + +fn main() { + die(); +} diff --git a/src/test/ui/meta/revision-ok.rs b/src/test/ui/meta/revision-ok.rs new file mode 100644 index 000000000..bbeae41b8 --- /dev/null +++ b/src/test/ui/meta/revision-ok.rs @@ -0,0 +1,21 @@ +// Meta test for compiletest: check that when we give the right error +// patterns, the test passes. See all `revision-bad.rs`. + +// run-fail +// revisions: foo bar +//[foo] error-pattern:foo +//[bar] error-pattern:bar +// ignore-emscripten no processes + +#[cfg(foo)] +fn die() { + panic!("foo"); +} +#[cfg(bar)] +fn die() { + panic!("bar"); +} + +fn main() { + die(); +} diff --git a/src/test/ui/meta/rustc-env.rs b/src/test/ui/meta/rustc-env.rs new file mode 100644 index 000000000..7d4e005be --- /dev/null +++ b/src/test/ui/meta/rustc-env.rs @@ -0,0 +1,18 @@ +// Compiletest meta test checking that rustc-env and unset-rustc-env directives +// can be used to configure environment for rustc. +// +// run-pass +// aux-build:env.rs +// rustc-env:COMPILETEST_FOO=foo +// +// An environment variable that is likely to be set, but should be safe to unset. +// unset-rustc-env:PWD + +extern crate env; + +fn main() { + assert_eq!(env!("COMPILETEST_FOO"), "foo"); + assert_eq!(option_env!("COMPILETEST_BAR"), None); + assert_eq!(option_env!("PWD"), None); + env::test(); +} -- cgit v1.2.3