mirror of
https://github.com/rust-lang/rust.git
synced 2025-01-08 05:47:40 +00:00
Make bootstrap be more informative when one does x.py test
on a beta checkout without other mods.
To be clear, by default running `x.py test` on a checkout of the beta branch currently fails, and with this change will continue to fail, because `x.py tests` runs `x.py test src/tools/tidy` which tries to run `rustfmt` and that will fail because the `rustfmt` binary is pinned to the current nighlty and we do not attempt to distribute one for the beta builds. This change gives a better error message than the current message, which is just "./x.py fmt is not supported on this channel" without providing any hint about what one might do about that problem. (update: placated tidy.)
This commit is contained in:
parent
107896c32d
commit
d6de60fb32
@ -791,6 +791,19 @@ impl Step for Tidy {
|
||||
|
||||
if builder.config.channel == "dev" || builder.config.channel == "nightly" {
|
||||
builder.info("fmt check");
|
||||
if builder.config.initial_rustfmt.is_none() {
|
||||
let inferred_rustfmt_dir = builder.config.initial_rustc.parent().unwrap();
|
||||
eprintln!(
|
||||
"\
|
||||
error: no `rustfmt` binary found in {PATH}
|
||||
info: `rust.channel` is currently set to \"{CHAN}\"
|
||||
help: if you are testing a beta branch, set `rust.channel` to \"beta\" in the `config.toml` file
|
||||
help: to skip test's attempt to check tidiness, pass `--exclude src/tools/tidy` to `x.py test`",
|
||||
PATH = inferred_rustfmt_dir.display(),
|
||||
CHAN = builder.config.channel,
|
||||
);
|
||||
std::process::exit(1);
|
||||
}
|
||||
crate::format::format(&builder.build, !builder.config.cmd.bless());
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user