Skip to content

Commit e534797

Browse files
committed
Rework -Zremap-path-scope macro test with dependency check
1 parent fcc63ac commit e534797

15 files changed

+108
-9
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
//@ compile-flags: --remap-path-prefix={{src-base}}=remapped
2+
//@ compile-flags: -Zremap-path-scope=debuginfo
3+
4+
#[macro_export]
5+
macro_rules! my_file {
6+
() => { file!() }
7+
}
8+
9+
pub fn file() -> &'static str {
10+
file!()
11+
}
+11
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
//@ compile-flags: --remap-path-prefix={{src-base}}=remapped
2+
//@ compile-flags: -Zremap-path-scope=diagnostics
3+
4+
#[macro_export]
5+
macro_rules! my_file {
6+
() => { file!() }
7+
}
8+
9+
pub fn file() -> &'static str {
10+
file!()
11+
}
+11
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
//@ compile-flags: --remap-path-prefix={{src-base}}=remapped
2+
//@ compile-flags: -Zremap-path-scope=macro
3+
4+
#[macro_export]
5+
macro_rules! my_file {
6+
() => { file!() }
7+
}
8+
9+
pub fn file() -> &'static str {
10+
file!()
11+
}

tests/ui/errors/auxiliary/file.rs

+8
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
#[macro_export]
2+
macro_rules! my_file {
3+
() => { file!() }
4+
}
5+
6+
pub fn file() -> &'static str {
7+
file!()
8+
}

tests/ui/errors/remap-path-prefix-macro.normal.run.stdout

-1
This file was deleted.
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
[remapped/errors/remap-path-prefix-macro.rs:LL:COL] file::my_file!() = "remapped/errors/remap-path-prefix-macro.rs"
2+
[remapped/errors/remap-path-prefix-macro.rs:LL:COL] file::file() = "$DIR/auxiliary/file.rs"
3+
[remapped/errors/remap-path-prefix-macro.rs:LL:COL] file!() = "remapped/errors/remap-path-prefix-macro.rs"
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
[$DIR/remap-path-prefix-macro.rs:LL:COL] file::my_file!() = "$DIR/remap-path-prefix-macro.rs"
2+
[$DIR/remap-path-prefix-macro.rs:LL:COL] file::file() = "$DIR/auxiliary/file-debuginfo.rs"
3+
[$DIR/remap-path-prefix-macro.rs:LL:COL] file!() = "$DIR/remap-path-prefix-macro.rs"
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
[$DIR/remap-path-prefix-macro.rs:LL:COL] file::my_file!() = "$DIR/remap-path-prefix-macro.rs"
2+
[$DIR/remap-path-prefix-macro.rs:LL:COL] file::file() = "$DIR/auxiliary/file-diag.rs"
3+
[$DIR/remap-path-prefix-macro.rs:LL:COL] file!() = "$DIR/remap-path-prefix-macro.rs"
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
[$DIR/remap-path-prefix-macro.rs:LL:COL] file::my_file!() = "$DIR/remap-path-prefix-macro.rs"
2+
[$DIR/remap-path-prefix-macro.rs:LL:COL] file::file() = "remapped/errors/auxiliary/file-macro.rs"
3+
[$DIR/remap-path-prefix-macro.rs:LL:COL] file!() = "$DIR/remap-path-prefix-macro.rs"
+46-6
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,52 @@
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+
16
//@ run-pass
27
//@ check-run-results
38

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+
// The $SRC_DIR*.rs:LL:COL normalisation doesn't kick in automatically
32+
// as the remapped revision will not begin with $SRC_DIR_REAL,
33+
// so we have to do it ourselves.
34+
//@ normalize-stderr: ".rs:\d+:\d+" -> ".rs:LL:COL"
35+
36+
#[cfg(any(with_diag_in_deps, only_diag_in_deps))]
37+
extern crate file_diag as file;
38+
39+
#[cfg(any(with_macro_in_deps, only_macro_in_deps))]
40+
extern crate file_macro as file;
41+
42+
#[cfg(any(with_debuginfo_in_deps, only_debuginfo_in_deps))]
43+
extern crate file_debuginfo as file;
44+
45+
#[cfg(not_macro_in_deps)]
46+
extern crate file;
947

1048
fn main() {
11-
println!("{}", file!());
49+
dbg!(file::my_file!());
50+
dbg!(file::file());
51+
dbg!(file!());
1252
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
[$DIR/remap-path-prefix-macro.rs:LL:COL] file::my_file!() = "$DIR/remap-path-prefix-macro.rs"
2+
[$DIR/remap-path-prefix-macro.rs:LL:COL] file::file() = "$DIR/auxiliary/file-debuginfo.rs"
3+
[$DIR/remap-path-prefix-macro.rs:LL:COL] file!() = "$DIR/remap-path-prefix-macro.rs"
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
[$DIR/remap-path-prefix-macro.rs:LL:COL] file::my_file!() = "$DIR/remap-path-prefix-macro.rs"
2+
[$DIR/remap-path-prefix-macro.rs:LL:COL] file::file() = "$DIR/auxiliary/file-diag.rs"
3+
[$DIR/remap-path-prefix-macro.rs:LL:COL] file!() = "$DIR/remap-path-prefix-macro.rs"
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
[remapped/errors/remap-path-prefix-macro.rs:LL:COL] file::my_file!() = "remapped/errors/remap-path-prefix-macro.rs"
2+
[remapped/errors/remap-path-prefix-macro.rs:LL:COL] file::file() = "remapped/errors/auxiliary/file-macro.rs"
3+
[remapped/errors/remap-path-prefix-macro.rs:LL:COL] file!() = "remapped/errors/remap-path-prefix-macro.rs"

tests/ui/errors/remap-path-prefix-macro.with-macro-scope.run.stdout

-1
This file was deleted.

tests/ui/errors/remap-path-prefix-macro.without-macro-scope.run.stdout

-1
This file was deleted.

0 commit comments

Comments
 (0)