// The order in which "library search path" `-L` arguments are given to the command line rustc // is important. These arguments must match the order of the linker's arguments. In this test, // fetching the Wrong library before the Correct one causes a function to return 0 instead of the // expected 1, causing a runtime panic, as expected. // See https://github.com/rust-lang/rust/pull/16904 //@ ignore-cross-compile // Reason: the compiled binary is executed use run_make_support::{build_native_static_lib, path, rfs, run, run_fail, rustc, static_lib_name}; fn main() { build_native_static_lib("correct"); build_native_static_lib("wrong"); rfs::create_dir("correct"); rfs::create_dir("wrong"); rfs::rename(static_lib_name("correct"), path("correct").join(static_lib_name("foo"))); rfs::rename(static_lib_name("wrong"), path("wrong").join(static_lib_name("foo"))); rustc() .input("main.rs") .output("should_succeed") .library_search_path("correct") .library_search_path("wrong") .run(); run("should_succeed"); rustc() .input("main.rs") .output("should_fail") .library_search_path("wrong") .library_search_path("correct") .run(); run_fail("should_fail"); }