about summary refs log tree commit diff
diff options
context:
space:
mode:
authorUrgau <urgau@numericable.fr>2024-04-27 00:26:06 +0200
committerUrgau <urgau@numericable.fr>2024-04-27 00:26:06 +0200
commit7688f798d543039387d87401889b75e9305a7a6d (patch)
tree307845e1ee7ecd8a20c61576105820c43cb56c07
parent74cbc09fc914961d98a64e203b9a6dbc8bc00375 (diff)
downloadrust-7688f798d543039387d87401889b75e9305a7a6d.tar.gz
rust-7688f798d543039387d87401889b75e9305a7a6d.zip
Also support MSVC in print-native-static-libs test
-rw-r--r--tests/run-make/print-native-static-libs/rmake.rs23
1 files changed, 18 insertions, 5 deletions
diff --git a/tests/run-make/print-native-static-libs/rmake.rs b/tests/run-make/print-native-static-libs/rmake.rs
index efc51d276ef..fc8701777d1 100644
--- a/tests/run-make/print-native-static-libs/rmake.rs
+++ b/tests/run-make/print-native-static-libs/rmake.rs
@@ -16,7 +16,7 @@ extern crate run_make_support;
 
 use std::io::BufRead;
 
-use run_make_support::rustc;
+use run_make_support::{rustc, is_msvc};
 
 fn main() {
     // build supporting crate
@@ -45,10 +45,23 @@ fn main() {
 
         let args: Vec<&str> = args.trim().split_ascii_whitespace().collect();
 
-        assert!(args.contains(&"-lglib-2.0")); // in bar.rs
-        assert!(args.contains(&"-lsystemd")); // in foo.rs
-        assert!(args.contains(&"-lbar_cli"));
-        assert!(args.contains(&"-lfoo_cli"));
+        macro_rules! assert_contains_lib {
+            ($lib:literal in $args:ident) => {{
+                let lib = format!(
+                    "{}{}{}",
+                    if !is_msvc() { "-l" } else { "" },
+                    $lib,
+                    if !is_msvc() { "" } else { ".lib" },
+                );
+                let found = $args.contains(&&*lib);
+                assert!(found, "unable to find lib `{}` in those linker args: {:?}", lib, $args);
+            }}
+        }
+
+        assert_contains_lib!("glib-2.0" in args); // in bar.rs
+        assert_contains_lib!("systemd" in args);  // in foo.rs
+        assert_contains_lib!("bar_cli" in args);
+        assert_contains_lib!("foo_cli" in args);
 
         // make sure that no args are consecutively present
         let dedup_args: Vec<&str> = {