]> git.lizzy.rs Git - rust.git/commitdiff
Add a test for compiletest rustc-env & unset-rustc-env directives
authorTomasz Miąsko <tomasz.miasko@gmail.com>
Fri, 30 Oct 2020 00:00:00 +0000 (00:00 +0000)
committerTomasz Miąsko <tomasz.miasko@gmail.com>
Fri, 30 Oct 2020 00:00:00 +0000 (00:00 +0000)
src/test/ui/meta/auxiliary/env.rs [new file with mode: 0644]
src/test/ui/meta/rustc-env.rs [new file with mode: 0644]

diff --git a/src/test/ui/meta/auxiliary/env.rs b/src/test/ui/meta/auxiliary/env.rs
new file mode 100644 (file)
index 0000000..b3644d8
--- /dev/null
@@ -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/rustc-env.rs b/src/test/ui/meta/rustc-env.rs
new file mode 100644 (file)
index 0000000..7d4e005
--- /dev/null
@@ -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();
+}