diff options
| author | Urgau <urgau@numericable.fr> | 2024-04-27 00:26:06 +0200 |
|---|---|---|
| committer | Urgau <urgau@numericable.fr> | 2024-04-27 00:26:06 +0200 |
| commit | 7688f798d543039387d87401889b75e9305a7a6d (patch) | |
| tree | 307845e1ee7ecd8a20c61576105820c43cb56c07 | |
| parent | 74cbc09fc914961d98a64e203b9a6dbc8bc00375 (diff) | |
| download | rust-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.rs | 23 |
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> = { |
