Skip to content

Commit 0a689c1

Browse files
committed
Auto merge of rust-lang#116009 - compiler-errors:fulldeps-fix, r=Kobzol
Fix `ui-fulldeps --stage=1` with `-Zignore-directory-in-diagnostics-source-blocks` Fixes rust-lang#115977 Also makes sure this doesn't happen again by running `ui-fulldeps --stage=1` in CI
2 parents 4fda889 + 292588e commit 0a689c1

File tree

2 files changed

+23
-17
lines changed

2 files changed

+23
-17
lines changed

src/ci/docker/host-x86_64/x86_64-gnu-llvm-15/script.sh

+12-9
Original file line numberDiff line numberDiff line change
@@ -4,15 +4,18 @@ set -ex
44

55
# Only run the stage 1 tests on merges, not on PR CI jobs.
66
if [[ -z "${PR_CI_JOB}" ]]; then
7-
../x.py --stage 1 test --skip src/tools/tidy && \
8-
# Run the `mir-opt` tests again but this time for a 32-bit target.
9-
# This enforces that tests using `// EMIT_MIR_FOR_EACH_BIT_WIDTH` have
10-
# both 32-bit and 64-bit outputs updated by the PR author, before
11-
# the PR is approved and tested for merging.
12-
# It will also detect tests lacking `// EMIT_MIR_FOR_EACH_BIT_WIDTH`,
13-
# despite having different output on 32-bit vs 64-bit targets.
14-
../x.py --stage 1 test tests/mir-opt \
15-
--host='' --target=i686-unknown-linux-gnu
7+
../x.py --stage 1 test --skip src/tools/tidy && \
8+
# Run the `mir-opt` tests again but this time for a 32-bit target.
9+
# This enforces that tests using `// EMIT_MIR_FOR_EACH_BIT_WIDTH` have
10+
# both 32-bit and 64-bit outputs updated by the PR author, before
11+
# the PR is approved and tested for merging.
12+
# It will also detect tests lacking `// EMIT_MIR_FOR_EACH_BIT_WIDTH`,
13+
# despite having different output on 32-bit vs 64-bit targets.
14+
../x.py --stage 1 test tests/mir-opt \
15+
--host='' --target=i686-unknown-linux-gnu && \
16+
# Run `ui-fulldeps` in `--stage=1`, which actually uses the stage0
17+
# compiler, and is sensitive to the addition of new flags.
18+
../x.py --stage 1 test tests/ui-fulldeps
1619
fi
1720

1821
# NOTE: intentionally uses all of `x.py`, `x`, and `x.ps1` to make sure they all work on Linux.

src/tools/compiletest/src/runtest.rs

+11-8
Original file line numberDiff line numberDiff line change
@@ -2335,14 +2335,17 @@ impl<'test> TestCx<'test> {
23352335
rustc.arg("-Zsimulate-remapped-rust-src-base=/rustc/FAKE_PREFIX");
23362336
rustc.arg("-Ztranslate-remapped-path-to-local-path=no");
23372337

2338-
// Hide Cargo dependency sources from ui tests to make sure the error message doesn't
2339-
// change depending on whether $CARGO_HOME is remapped or not. If this is not present,
2340-
// when $CARGO_HOME is remapped the source won't be shown, and when it's not remapped the
2341-
// source will be shown, causing a blessing hell.
2342-
rustc.arg("-Z").arg(format!(
2343-
"ignore-directory-in-diagnostics-source-blocks={}",
2344-
home::cargo_home().expect("failed to find cargo home").to_str().unwrap()
2345-
));
2338+
// #[cfg(not(bootstrap))]: After beta bump, this should **always** run.
2339+
if !(self.config.stage_id.starts_with("stage1-") && self.config.suite == "ui-fulldeps") {
2340+
// Hide Cargo dependency sources from ui tests to make sure the error message doesn't
2341+
// change depending on whether $CARGO_HOME is remapped or not. If this is not present,
2342+
// when $CARGO_HOME is remapped the source won't be shown, and when it's not remapped the
2343+
// source will be shown, causing a blessing hell.
2344+
rustc.arg("-Z").arg(format!(
2345+
"ignore-directory-in-diagnostics-source-blocks={}",
2346+
home::cargo_home().expect("failed to find cargo home").to_str().unwrap()
2347+
));
2348+
}
23462349

23472350
// Optionally prevent default --sysroot if specified in test compile-flags.
23482351
if !self.props.compile_flags.iter().any(|flag| flag.starts_with("--sysroot"))

0 commit comments

Comments
 (0)