| // 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 |
| |
| use run_make_support::{rfs, rust_lib_name, rustc}; |
| |
| fn main() { |
| rustc().crate_type("rlib").input("crateA.rs").run(); |
| rustc().crate_type("rlib").input("crateB.rs").run(); |
| rfs::remove_file(rust_lib_name("crateA")); |
| // 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"); |
| } |