2024-07-16 13:01:02 -05:00
|
|
|
// A simple smoke test to check that rustc fails compilation
|
|
|
|
// and outputs a helpful message when a dependency is missing
|
|
|
|
// in a dependency chain.
|
|
|
|
// See https://github.com/rust-lang/rust/issues/12146
|
|
|
|
|
2024-07-16 13:12:12 -05:00
|
|
|
use run_make_support::{rfs, rust_lib_name, rustc};
|
2024-07-16 13:01:02 -05:00
|
|
|
|
|
|
|
fn main() {
|
|
|
|
rustc().crate_type("rlib").input("crateA.rs").run();
|
|
|
|
rustc().crate_type("rlib").input("crateB.rs").run();
|
2024-07-16 13:12:12 -05:00
|
|
|
rfs::remove_file(rust_lib_name("crateA"));
|
2024-07-16 13:01:02 -05:00
|
|
|
// Ensure that crateC fails to compile, as the crateA dependency is missing.
|
|
|
|
rustc()
|
|
|
|
.input("crateC.rs")
|
|
|
|
.run_fail()
|
|
|
|
.assert_stderr_contains("can't find crate for `crateA` which `crateB` depends on");
|
|
|
|
}
|