Change:
When I run locally, I get errors: (Same for 27 ui-fulldeps tests in total.) I assume this happened after cc
Since CI isn't running into these issues, I'm guessing it only happens with and works fine with .
Yup, it works fine with here.
Ugh, this keeps happening to when we add new flags.
I think we should just test in CI to make sure this doesn't keep happening. See the description of to understand why ui-fulldeps actually builds with stage0, which means that modifications to the UI test code adding new flags need to make sure they're properly gating their code.
Either that, or we need something like and pass that just to the ui-fulldeps suite on stage1. That seems more like a hack though :s
should be pretty easy to extend with a --stage=1 for ui-fulldeps.
Cool, will do when I get home.

Discussion:
# Only run the stage 1 tests on merges, not on PR CI jobs. if [[ -z "${PR_CI_JOB}" ]]; then <del> ../x.py --stage 1 test --skip src/tools/tidy &&  # Run the `mir-opt` tests again but this time for a 32-bit target. # This enforces that tests using `// EMIT_MIR_FOR_EACH_BIT_WIDTH` have # both 32-bit and 64-bit outputs updated by the PR author, before # the PR is approved and tested for merging. # It will also detect tests lacking `// EMIT_MIR_FOR_EACH_BIT_WIDTH`, # despite having different output on 32-bit vs 64-bit targets. ../x.py --stage 1 test tests/mir-opt  --host='' --target=i686-unknown-linux-gnu </del> <ins> ../x.py --stage 1 test --skip src/tools/tidy &&  # Run the `mir-opt` tests again but this time for a 32-bit target. # This enforces that tests using `// EMIT_MIR_FOR_EACH_BIT_WIDTH` have # both 32-bit and 64-bit outputs updated by the PR author, before # the PR is approved and tested for merging. # It will also detect tests lacking `// EMIT_MIR_FOR_EACH_BIT_WIDTH`, # despite having different output on 32-bit vs 64-bit targets. ../x.py --stage 1 test tests/mir-opt  --host='' --target=i686-unknown-linux-gnu &&  # Run `ui-fulldeps` in `--stage=1`, which actually uses the stage0 # compiler, and is sensitive to the addition of new flags. ../x.py --stage 1 test tests/ui-fulldeps </ins> fi # NOTE: intentionally uses all of `x.py`, `x`, and `x.ps1` to make sure they all work on Linux.

rustc.arg("-Zsimulate-remapped-rust-src-base=/rustc/FAKE_PREFIX"); rustc.arg("-Ztranslate-remapped-path-to-local-path=no"); <del> // Hide Cargo dependency sources from ui tests to make sure the error message doesn't // change depending on whether $CARGO_HOME is remapped or not. If this is not present, // when $CARGO_HOME is remapped the source won't be shown, and when it's not remapped the // source will be shown, causing a blessing hell. rustc.arg("-Z").arg(format!( "ignore-directory-in-diagnostics-source-blocks={}", home::cargo_home().expect("failed to find cargo home").to_str().unwrap() )); </del> <ins> // #[cfg(not(bootstrap))]: After beta bump, this should **always** run. if !(self.config.stage_id.starts_with("stage1-") && self.config.suite == "ui-fulldeps") { // Hide Cargo dependency sources from ui tests to make sure the error message doesn't // change depending on whether $CARGO_HOME is remapped or not. If this is not present, // when $CARGO_HOME is remapped the source won't be shown, and when it's not remapped the // source will be shown, causing a blessing hell. rustc.arg("-Z").arg(format!( "ignore-directory-in-diagnostics-source-blocks={}", home::cargo_home().expect("failed to find cargo home").to_str().unwrap() )); } </ins> // Optionally prevent default --sysroot if specified in test compile-flags. if !self.props.compile_flags.iter().any(|flag| flag.starts_with("--sysroot"))