about summary refs log tree commit diff
path: root/tests/run-make/missing-crate-dependency/rmake.rs
blob: dae77032f7d4ae9b5aaaa0a1f0ed661ad0ac041b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
// 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");
}