Rollup merge of #61621 - Mark-Simulacrum:bootstrap-run-only-hosts, r=alexcrichton
Clarify when we run steps with ONLY_HOSTS Just some simple cleanup, no behavior changes. r? @alexcrichton
This commit is contained in:
commit
9f314fe2f3
2 changed files with 9 additions and 7 deletions
|
|
@ -59,7 +59,7 @@ pub trait Step: 'static + Clone + Debug + PartialEq + Eq + Hash {
|
|||
|
||||
const DEFAULT: bool = false;
|
||||
|
||||
/// Run this rule for all hosts without cross compiling.
|
||||
/// If true, then this rule should be skipped if --target was specified, but --host was not
|
||||
const ONLY_HOSTS: bool = false;
|
||||
|
||||
/// Primary function to execute this rule. Can call `builder.ensure()`
|
||||
|
|
@ -163,7 +163,7 @@ impl StepDescription {
|
|||
|
||||
// Determine the targets participating in this rule.
|
||||
let targets = if self.only_hosts {
|
||||
if !builder.config.run_host_only {
|
||||
if builder.config.skip_only_host_steps {
|
||||
return; // don't run anything
|
||||
} else {
|
||||
&builder.hosts
|
||||
|
|
@ -1338,7 +1338,7 @@ mod __test {
|
|||
let mut config = Config::default_opts();
|
||||
// don't save toolstates
|
||||
config.save_toolstates = None;
|
||||
config.run_host_only = true;
|
||||
config.skip_only_host_steps = false;
|
||||
config.dry_run = true;
|
||||
// try to avoid spurious failures in dist where we create/delete each others file
|
||||
let dir = config.out.join("tmp-rustbuild-tests").join(
|
||||
|
|
@ -1583,7 +1583,7 @@ mod __test {
|
|||
#[test]
|
||||
fn dist_with_target_flag() {
|
||||
let mut config = configure(&["B"], &["C"]);
|
||||
config.run_host_only = false; // as-if --target=C was passed
|
||||
config.skip_only_host_steps = true; // as-if --target=C was passed
|
||||
let build = Build::new(config);
|
||||
let mut builder = Builder::new(&build);
|
||||
builder.run_step_descriptions(&Builder::get_step_descriptions(Kind::Dist), &[]);
|
||||
|
|
@ -1831,7 +1831,7 @@ mod __test {
|
|||
#[test]
|
||||
fn build_with_target_flag() {
|
||||
let mut config = configure(&["B"], &["C"]);
|
||||
config.run_host_only = false;
|
||||
config.skip_only_host_steps = true;
|
||||
let build = Build::new(config);
|
||||
let mut builder = Builder::new(&build);
|
||||
builder.run_step_descriptions(&Builder::get_step_descriptions(Kind::Build), &[]);
|
||||
|
|
|
|||
|
|
@ -51,7 +51,7 @@ pub struct Config {
|
|||
pub test_compare_mode: bool,
|
||||
pub llvm_libunwind: bool,
|
||||
|
||||
pub run_host_only: bool,
|
||||
pub skip_only_host_steps: bool,
|
||||
|
||||
pub on_fail: Option<String>,
|
||||
pub stage: Option<u32>,
|
||||
|
|
@ -416,7 +416,9 @@ impl Config {
|
|||
}
|
||||
|
||||
// If --target was specified but --host wasn't specified, don't run any host-only tests.
|
||||
config.run_host_only = !(flags.host.is_empty() && !flags.target.is_empty());
|
||||
let has_hosts = !flags.host.is_empty();
|
||||
let has_targets = !flags.target.is_empty();
|
||||
config.skip_only_host_steps = !has_hosts && has_targets;
|
||||
|
||||
let toml = file.map(|file| {
|
||||
let contents = t!(fs::read_to_string(&file));
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue