Rework -Zremap-path-scope
macro test with dependency check · rust-lang/rust@f959039 (original) (raw)
``
1
`` +
// This test exercises -Zremap-path-scope
, macros (like file!()) and dependency.
``
``
2
`+
//
`
``
3
`+
// We test different combinations with/without remap in deps, with/without remap in
`
``
4
`+
// this crate but always in deps and always here but never in deps.
`
``
5
+
1
6
`//@ run-pass
`
2
7
`//@ check-run-results
`
3
8
``
4
``
`-
//@ revisions: normal with-macro-scope without-macro-scope
`
5
``
`-
//@ compile-flags: --remap-path-prefix={{src-base}}=remapped
`
6
``
`-
//@ [with-macro-scope]compile-flags: -Zremap-path-scope=macro,diagnostics
`
7
``
`-
//@ [without-macro-scope]compile-flags: -Zremap-path-scope=diagnostics
`
8
``
`-
// no-remap-src-base: Manually remap, so the remapped path remains in .stderr file.
`
``
9
`+
//@ revisions: with-diag-in-deps with-macro-in-deps with-debuginfo-in-deps
`
``
10
`+
//@ revisions: only-diag-in-deps only-macro-in-deps only-debuginfo-in-deps
`
``
11
`+
//@ revisions: not-macro-in-deps
`
``
12
+
``
13
`+
//@[with-diag-in-deps] compile-flags: --remap-path-prefix={{src-base}}=remapped
`
``
14
`+
//@[with-macro-in-deps] compile-flags: --remap-path-prefix={{src-base}}=remapped
`
``
15
`+
//@[with-debuginfo-in-deps] compile-flags: --remap-path-prefix={{src-base}}=remapped
`
``
16
`+
//@[not-macro-in-deps] compile-flags: --remap-path-prefix={{src-base}}=remapped
`
``
17
+
``
18
`+
//@[with-diag-in-deps] compile-flags: -Zremap-path-scope=diagnostics
`
``
19
`+
//@[with-macro-in-deps] compile-flags: -Zremap-path-scope=macro
`
``
20
`+
//@[with-debuginfo-in-deps] compile-flags: -Zremap-path-scope=debuginfo
`
``
21
`+
//@[not-macro-in-deps] compile-flags: -Zremap-path-scope=macro
`
``
22
+
``
23
`+
//@[with-diag-in-deps] aux-build:file-diag.rs
`
``
24
`+
//@[with-macro-in-deps] aux-build:file-macro.rs
`
``
25
`+
//@[with-debuginfo-in-deps] aux-build:file-debuginfo.rs
`
``
26
`+
//@[only-diag-in-deps] aux-build:file-diag.rs
`
``
27
`+
//@[only-macro-in-deps] aux-build:file-macro.rs
`
``
28
`+
//@[only-debuginfo-in-deps] aux-build:file-debuginfo.rs
`
``
29
`+
//@[not-macro-in-deps] aux-build:file.rs
`
``
30
+
``
31
`+
#[cfg(any(with_diag_in_deps, only_diag_in_deps))]
`
``
32
`+
extern crate file_diag as file;
`
``
33
+
``
34
`+
#[cfg(any(with_macro_in_deps, only_macro_in_deps))]
`
``
35
`+
extern crate file_macro as file;
`
``
36
+
``
37
`+
#[cfg(any(with_debuginfo_in_deps, only_debuginfo_in_deps))]
`
``
38
`+
extern crate file_debuginfo as file;
`
``
39
+
``
40
`+
#[cfg(not_macro_in_deps)]
`
``
41
`+
extern crate file;
`
9
42
``
10
43
`fn main() {
`
11
``
`-
println!("{}", file!());
`
``
44
`+
println!("file::my_file!() = {}", file::my_file!());
`
``
45
`+
println!("file::file() = {}", file::file());
`
``
46
`+
println!("file!() = {}", file!());
`
12
47
`}
`