Skip to content

Commit 0cba7c8

Browse files
committed
Resolve link once instead of canonicalize
1 parent b7eeb3c commit 0cba7c8

File tree

2 files changed

+12
-6
lines changed

2 files changed

+12
-6
lines changed

src/tools/compiletest/src/header.rs

+6-4
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
use std::collections::HashSet;
22
use std::env;
3-
use std::fs::canonicalize;
43
use std::fs::File;
54
use std::io::prelude::*;
65
use std::io::BufReader;
@@ -812,9 +811,12 @@ fn expand_variables(mut value: String, config: &Config) -> String {
812811
}
813812

814813
if value.contains(RUST_SRC_BASE) {
815-
let src = config.sysroot_base.join("lib/rustlib/src/rust");
816-
let canonical = canonicalize(&src).unwrap();
817-
value = value.replace(RUST_SRC_BASE, &canonical.to_string_lossy());
814+
let src_base = config
815+
.sysroot_base
816+
.join("lib/rustlib/src/rust")
817+
.read_link()
818+
.expect("lib/rustlib/src/rust in target is a symlink to checkout root");
819+
value = value.replace(RUST_SRC_BASE, &src_base.to_string_lossy());
818820
}
819821

820822
value

src/tools/compiletest/src/runtest.rs

+6-2
Original file line numberDiff line numberDiff line change
@@ -4222,8 +4222,12 @@ impl<'test> TestCx<'test> {
42224222
normalize_path(parent_build_dir, "$BUILD_DIR");
42234223

42244224
// Real paths into the libstd/libcore
4225-
let rust_src_dir =
4226-
&self.config.sysroot_base.join("lib/rustlib/src/rust").canonicalize().unwrap();
4225+
let rust_src_dir = &self
4226+
.config
4227+
.sysroot_base
4228+
.join("lib/rustlib/src/rust")
4229+
.read_link()
4230+
.expect("lib/rustlib/src/rust in target is a symlink to checkout root");
42274231
normalize_path(&rust_src_dir.join("library"), "$SRC_DIR_REAL");
42284232

42294233
if json {

0 commit comments

Comments
 (0)