File: rmake.rs

package info (click to toggle)
rustc 1.89.0%2Bdfsg1-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 906,624 kB
  • sloc: xml: 158,148; python: 34,888; javascript: 19,595; sh: 19,221; ansic: 13,046; cpp: 7,144; asm: 4,376; makefile: 692; lisp: 174; sql: 15
file content (34 lines) | stat: -rw-r--r-- 1,067 bytes parent folder | download | duplicates (10)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
//@ needs-symlink
//@ ignore-cross-compile

// Tests that the multiple candidate dependencies diagnostic prints relative
// paths if a relative library path was passed in.

use run_make_support::{bare_rustc, diff, rfs, rustc};

fn main() {
    // Check that relative paths are preserved in the diagnostic
    rfs::create_dir("mylibs");
    rustc().input("crateresolve1-1.rs").out_dir("mylibs").extra_filename("-1").run();
    rustc().input("crateresolve1-2.rs").out_dir("mylibs").extra_filename("-2").run();
    check("./mylibs");

    // Check that symlinks aren't followed when printing the diagnostic
    rfs::rename("mylibs", "original");
    rfs::symlink_dir("original", "mylibs");
    check("./mylibs");
}

fn check(library_path: &str) {
    let out = rustc()
        .input("multiple-candidates.rs")
        .library_search_path(library_path)
        .ui_testing()
        .run_fail()
        .stderr_utf8();
    diff()
        .expected_file("multiple-candidates.stderr")
        .normalize(r"\\", "/")
        .actual_text("(rustc)", &out)
        .run();
}