about summary refs log tree commit diff
diff options
context:
space:
mode:
authorJieyou Xu <jieyouxu@outlook.com>2025-05-14 17:58:00 +0800
committerJieyou Xu <jieyouxu@outlook.com>2025-05-15 16:47:17 +0800
commit3e051afec7a0223c86bdab9cd751b32f6a988465 (patch)
treed502c6fc703c110cf14976440e4a1c857d9d96bd
parent414482f6a0d4e7290f614300581a0b55442552a3 (diff)
downloadrust-3e051afec7a0223c86bdab9cd751b32f6a988465.tar.gz
rust-3e051afec7a0223c86bdab9cd751b32f6a988465.zip
Add some negative test coverage for malformed `-Clink-self-contained` flags
-rw-r--r--tests/ui/linking/link-self-contained-malformed.invalid_modifier.stderr2
-rw-r--r--tests/ui/linking/link-self-contained-malformed.no_value.stderr2
-rw-r--r--tests/ui/linking/link-self-contained-malformed.rs23
-rw-r--r--tests/ui/linking/link-self-contained-malformed.unknown_boolean.stderr2
-rw-r--r--tests/ui/linking/link-self-contained-malformed.unknown_modifier_value.stderr2
-rw-r--r--tests/ui/linking/link-self-contained-malformed.unknown_value.stderr2
6 files changed, 33 insertions, 0 deletions
diff --git a/tests/ui/linking/link-self-contained-malformed.invalid_modifier.stderr b/tests/ui/linking/link-self-contained-malformed.invalid_modifier.stderr
new file mode 100644
index 00000000000..28e2c74fda2
--- /dev/null
+++ b/tests/ui/linking/link-self-contained-malformed.invalid_modifier.stderr
@@ -0,0 +1,2 @@
+error: incorrect value `*lld` for codegen option `link-self-contained` - one of: `y`, `yes`, `on`, `n`, `no`, `off`, or a list of enabled (`+` prefix) and disabled (`-` prefix) components: `crto`, `libc`, `unwind`, `linker`, `sanitizers`, `mingw` was expected
+
diff --git a/tests/ui/linking/link-self-contained-malformed.no_value.stderr b/tests/ui/linking/link-self-contained-malformed.no_value.stderr
new file mode 100644
index 00000000000..dd8e8af074b
--- /dev/null
+++ b/tests/ui/linking/link-self-contained-malformed.no_value.stderr
@@ -0,0 +1,2 @@
+error: incorrect value `` for codegen option `link-self-contained` - one of: `y`, `yes`, `on`, `n`, `no`, `off`, or a list of enabled (`+` prefix) and disabled (`-` prefix) components: `crto`, `libc`, `unwind`, `linker`, `sanitizers`, `mingw` was expected
+
diff --git a/tests/ui/linking/link-self-contained-malformed.rs b/tests/ui/linking/link-self-contained-malformed.rs
new file mode 100644
index 00000000000..8ccb82eee27
--- /dev/null
+++ b/tests/ui/linking/link-self-contained-malformed.rs
@@ -0,0 +1,23 @@
+//! Check that malformed `-Clink-self-contained` invocations are properly rejected.
+
+//@ revisions: no_value
+//@[no_value] compile-flags: -Clink-self-contained=
+//[no_value]~? ERROR incorrect value `` for codegen option `link-self-contained`
+
+//@ revisions: invalid_modifier
+//@[invalid_modifier] compile-flags: -Clink-self-contained=*lld
+//[invalid_modifier]~? ERROR incorrect value `*lld` for codegen option `link-self-contained`
+
+//@ revisions: unknown_value
+//@[unknown_value] compile-flags: -Clink-self-contained=unknown
+//[unknown_value]~? ERROR incorrect value `unknown` for codegen option `link-self-contained`
+
+//@ revisions: unknown_modifier_value
+//@[unknown_modifier_value] compile-flags: -Clink-self-contained=-unknown
+//[unknown_modifier_value]~? ERROR incorrect value `-unknown` for codegen option `link-self-contained`
+
+//@ revisions: unknown_boolean
+//@[unknown_boolean] compile-flags: -Clink-self-contained=maybe
+//[unknown_boolean]~? ERROR incorrect value `maybe` for codegen option `link-self-contained`
+
+fn main() {}
diff --git a/tests/ui/linking/link-self-contained-malformed.unknown_boolean.stderr b/tests/ui/linking/link-self-contained-malformed.unknown_boolean.stderr
new file mode 100644
index 00000000000..7924074d1bf
--- /dev/null
+++ b/tests/ui/linking/link-self-contained-malformed.unknown_boolean.stderr
@@ -0,0 +1,2 @@
+error: incorrect value `maybe` for codegen option `link-self-contained` - one of: `y`, `yes`, `on`, `n`, `no`, `off`, or a list of enabled (`+` prefix) and disabled (`-` prefix) components: `crto`, `libc`, `unwind`, `linker`, `sanitizers`, `mingw` was expected
+
diff --git a/tests/ui/linking/link-self-contained-malformed.unknown_modifier_value.stderr b/tests/ui/linking/link-self-contained-malformed.unknown_modifier_value.stderr
new file mode 100644
index 00000000000..2dc58c0f7e8
--- /dev/null
+++ b/tests/ui/linking/link-self-contained-malformed.unknown_modifier_value.stderr
@@ -0,0 +1,2 @@
+error: incorrect value `-unknown` for codegen option `link-self-contained` - one of: `y`, `yes`, `on`, `n`, `no`, `off`, or a list of enabled (`+` prefix) and disabled (`-` prefix) components: `crto`, `libc`, `unwind`, `linker`, `sanitizers`, `mingw` was expected
+
diff --git a/tests/ui/linking/link-self-contained-malformed.unknown_value.stderr b/tests/ui/linking/link-self-contained-malformed.unknown_value.stderr
new file mode 100644
index 00000000000..ce4c44299cd
--- /dev/null
+++ b/tests/ui/linking/link-self-contained-malformed.unknown_value.stderr
@@ -0,0 +1,2 @@
+error: incorrect value `unknown` for codegen option `link-self-contained` - one of: `y`, `yes`, `on`, `n`, `no`, `off`, or a list of enabled (`+` prefix) and disabled (`-` prefix) components: `crto`, `libc`, `unwind`, `linker`, `sanitizers`, `mingw` was expected
+