about summary refs log tree commit diff
diff options
context:
space:
mode:
authorJieyou Xu <jieyouxu@outlook.com>2025-05-14 18:11:17 +0800
committerJieyou Xu <jieyouxu@outlook.com>2025-05-15 16:47:18 +0800
commita716f1a523a3dad5e5981fef45e25d7e2100f725 (patch)
treef56f7f9a918da34f3d198c17e5711a48010accd3
parent3e051afec7a0223c86bdab9cd751b32f6a988465 (diff)
downloadrust-a716f1a523a3dad5e5981fef45e25d7e2100f725.tar.gz
rust-a716f1a523a3dad5e5981fef45e25d7e2100f725.zip
Add some negative test coverage for `-Zlinker-features` flag
-rw-r--r--tests/ui/linking/linker-features-malformed.invalid_modifier.stderr2
-rw-r--r--tests/ui/linking/linker-features-malformed.invalid_separator.stderr2
-rw-r--r--tests/ui/linking/linker-features-malformed.no_value.stderr2
-rw-r--r--tests/ui/linking/linker-features-malformed.rs27
-rw-r--r--tests/ui/linking/linker-features-malformed.unknown_boolean.stderr2
-rw-r--r--tests/ui/linking/linker-features-malformed.unknown_modifier_value.stderr2
-rw-r--r--tests/ui/linking/linker-features-malformed.unknown_value.stderr2
7 files changed, 39 insertions, 0 deletions
diff --git a/tests/ui/linking/linker-features-malformed.invalid_modifier.stderr b/tests/ui/linking/linker-features-malformed.invalid_modifier.stderr
new file mode 100644
index 00000000000..909b277089f
--- /dev/null
+++ b/tests/ui/linking/linker-features-malformed.invalid_modifier.stderr
@@ -0,0 +1,2 @@
+error: incorrect value `*lld` for unstable option `linker-features` - a list of enabled (`+` prefix) and disabled (`-` prefix) features: `lld` was expected
+
diff --git a/tests/ui/linking/linker-features-malformed.invalid_separator.stderr b/tests/ui/linking/linker-features-malformed.invalid_separator.stderr
new file mode 100644
index 00000000000..0f84898a774
--- /dev/null
+++ b/tests/ui/linking/linker-features-malformed.invalid_separator.stderr
@@ -0,0 +1,2 @@
+error: incorrect value `-lld@+lld` for unstable option `linker-features` - a list of enabled (`+` prefix) and disabled (`-` prefix) features: `lld` was expected
+
diff --git a/tests/ui/linking/linker-features-malformed.no_value.stderr b/tests/ui/linking/linker-features-malformed.no_value.stderr
new file mode 100644
index 00000000000..e93a4e79bb1
--- /dev/null
+++ b/tests/ui/linking/linker-features-malformed.no_value.stderr
@@ -0,0 +1,2 @@
+error: incorrect value `` for unstable option `linker-features` - a list of enabled (`+` prefix) and disabled (`-` prefix) features: `lld` was expected
+
diff --git a/tests/ui/linking/linker-features-malformed.rs b/tests/ui/linking/linker-features-malformed.rs
new file mode 100644
index 00000000000..0bdcfa39920
--- /dev/null
+++ b/tests/ui/linking/linker-features-malformed.rs
@@ -0,0 +1,27 @@
+//! Check that malformed `-Zlinker-features` flags are properly rejected.
+
+//@ revisions: no_value
+//@[no_value] compile-flags: -Zlinker-features=
+//[no_value]~? ERROR incorrect value `` for unstable option `linker-features`
+
+//@ revisions: invalid_modifier
+//@[invalid_modifier] compile-flags: -Zlinker-features=*lld
+//[invalid_modifier]~? ERROR incorrect value `*lld` for unstable option `linker-features`
+
+//@ revisions: unknown_value
+//@[unknown_value] compile-flags: -Zlinker-features=unknown
+//[unknown_value]~? ERROR incorrect value `unknown` for unstable option `linker-features`
+
+//@ revisions: unknown_modifier_value
+//@[unknown_modifier_value] compile-flags: -Zlinker-features=-unknown
+//[unknown_modifier_value]~? ERROR incorrect value `-unknown` for unstable option `linker-features`
+
+//@ revisions: unknown_boolean
+//@[unknown_boolean] compile-flags: -Zlinker-features=maybe
+//[unknown_boolean]~? ERROR incorrect value `maybe` for unstable option `linker-features`
+
+//@ revisions: invalid_separator
+//@[invalid_separator] compile-flags: -Zlinker-features=-lld@+lld
+//[invalid_separator]~? ERROR incorrect value `-lld@+lld` for unstable option `linker-features`
+
+fn main() {}
diff --git a/tests/ui/linking/linker-features-malformed.unknown_boolean.stderr b/tests/ui/linking/linker-features-malformed.unknown_boolean.stderr
new file mode 100644
index 00000000000..865738d0ccc
--- /dev/null
+++ b/tests/ui/linking/linker-features-malformed.unknown_boolean.stderr
@@ -0,0 +1,2 @@
+error: incorrect value `maybe` for unstable option `linker-features` - a list of enabled (`+` prefix) and disabled (`-` prefix) features: `lld` was expected
+
diff --git a/tests/ui/linking/linker-features-malformed.unknown_modifier_value.stderr b/tests/ui/linking/linker-features-malformed.unknown_modifier_value.stderr
new file mode 100644
index 00000000000..03b9620ca26
--- /dev/null
+++ b/tests/ui/linking/linker-features-malformed.unknown_modifier_value.stderr
@@ -0,0 +1,2 @@
+error: incorrect value `-unknown` for unstable option `linker-features` - a list of enabled (`+` prefix) and disabled (`-` prefix) features: `lld` was expected
+
diff --git a/tests/ui/linking/linker-features-malformed.unknown_value.stderr b/tests/ui/linking/linker-features-malformed.unknown_value.stderr
new file mode 100644
index 00000000000..566632a3df3
--- /dev/null
+++ b/tests/ui/linking/linker-features-malformed.unknown_value.stderr
@@ -0,0 +1,2 @@
+error: incorrect value `unknown` for unstable option `linker-features` - a list of enabled (`+` prefix) and disabled (`-` prefix) features: `lld` was expected
+