| // When native libraries are passed to the linker, there used to be an annoyance |
| // where multiple instances of the same library in a row would cause duplication in |
| // outputs. This has been fixed, and this test checks that it stays fixed. |
| // With the --cfg flag, -ltestb gets added to the output, breaking up the chain of -ltesta. |
| // Without the --cfg flag, there should be a single -ltesta, no more, no less. |
| // See https://github.com/rust-lang/rust/pull/84794 |
| |
| //@ ignore-msvc |
| |
| use run_make_support::rustc; |
| |
| fn main() { |
| rustc().input("depa.rs").run(); |
| rustc().input("depb.rs").run(); |
| rustc().input("depc.rs").run(); |
| let output = rustc().input("empty.rs").cfg("bar").run_fail(); |
| output.assert_stderr_contains(r#""-ltesta" "-ltestb" "-ltesta""#); |
| let output = rustc().input("empty.rs").run_fail(); |
| output.assert_stderr_contains(r#""-ltesta""#); |
| let output = rustc().input("empty.rs").run_fail(); |
| output.assert_stderr_not_contains(r#""-ltestb""#); |
| let output = rustc().input("empty.rs").run_fail(); |
| output.assert_stderr_not_contains(r#""-ltesta" "-ltesta" "-ltesta""#); |
| } |