about summary refs log tree commit diff
diff options
context:
space:
mode:
authorYuki Okushi <jtitor@2k36.org>2023-04-16 06:55:22 +0900
committerGitHub <noreply@github.com>2023-04-16 06:55:22 +0900
commitbe2e8078d7f5f92f422e5e01a49a7a0be077d69a (patch)
tree7470eb92f5d65245f5e62939520134c1017f1874
parent724da5cf113588ad88aff69f83d7cf996bd63782 (diff)
parentb1feb45f59b47979b8ca919d3d232f4301e4e98d (diff)
downloadrust-be2e8078d7f5f92f422e5e01a49a7a0be077d69a.tar.gz
rust-be2e8078d7f5f92f422e5e01a49a7a0be077d69a.zip
Rollup merge of #110356 - jyn514:rust-installer-tests, r=ozkanonur
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!
```
-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.