about summary refs log tree commit diff
path: root/src
diff options
context:
space:
mode:
authorjyn <github@jyn.dev>2023-04-15 08:19:00 -0500
committerjyn <github@jyn.dev>2023-04-15 08:19:00 -0500
commitb1feb45f59b47979b8ca919d3d232f4301e4e98d (patch)
treeb6dc168f964509b47aef0c6e1df715bbfbc4f7d9 /src
parentce1073ba9d894b2e351b2a85fcd39f2c99b78974 (diff)
downloadrust-b1feb45f59b47979b8ca919d3d232f4301e4e98d.tar.gz
rust-b1feb45f59b47979b8ca919d3d232f4301e4e98d.zip
Fix `x test rust-installer` when `cargo` is set to a relative path
Previously, this would give an error because the shell script had a
different working directory:

```
test: basic_install
$ sh /home/jyn/src/rust/src/tools/rust-installer/gen-installer.sh --image-dir=/home/jyn/src/rust/src/tools/rust-installer/test/image1 --work-dir=/home/jyn/src/rust/build/x86_64-unknown-linux-gnu/test/rust-installer/workdir --output-dir=/home/jyn/src/rust/build/x86_64-unknown-linux-gnu/test/rust-installer/outdir
/home/jyn/src/rust/src/tools/rust-installer/gen-installer.sh: 15: ../rust3/build/host/stage2-tools-bin/cargo: not found

TEST FAILED!
```
Diffstat (limited to 'src')
-rw-r--r--src/bootstrap/config.rs4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/bootstrap/config.rs b/src/bootstrap/config.rs
index cc3b3bc25f3..ca6dcaf4957 100644
--- a/src/bootstrap/config.rs
+++ b/src/bootstrap/config.rs
@@ -1009,7 +1009,9 @@ impl Config {
         });
         config.initial_cargo = build
             .cargo
-            .map(PathBuf::from)
+            .map(|cargo| {
+                t!(PathBuf::from(cargo).canonicalize(), "`initial_cargo` not found on disk")
+            })
             .unwrap_or_else(|| config.out.join(config.build.triple).join("stage0/bin/cargo"));
 
         // NOTE: it's important this comes *after* we set `initial_rustc` just above.