Skip to content

Commit c024cc4

Browse files
committed
Implement CoverageDump checking through the tool_check_step macro
1 parent 42d1140 commit c024cc4

File tree

1 file changed

+5
-66
lines changed
  • src/bootstrap/src/core/build_steps

1 file changed

+5
-66
lines changed

src/bootstrap/src/core/build_steps/check.rs

Lines changed: 5 additions & 66 deletions
Original file line numberDiff line numberDiff line change
@@ -585,69 +585,8 @@ tool_check_step!(RunMakeSupport {
585585
default: false
586586
});
587587

588-
/// Check step for the `coverage-dump` bootstrap tool. The coverage-dump tool
589-
/// is used internally by coverage tests.
590-
///
591-
/// FIXME(Zalathar): This is temporarily separate from the other tool check
592-
/// steps so that it can use the stage 0 compiler instead of `top_stage`,
593-
/// without introducing conflicts with the stage 0 redesign (#119899).
594-
///
595-
/// After the stage 0 redesign lands, we can look into using the stage 0
596-
/// compiler to check all bootstrap tools (#139170).
597-
#[derive(Debug, Clone, PartialEq, Eq, Hash)]
598-
pub(crate) struct CoverageDump;
599-
600-
impl CoverageDump {
601-
const PATH: &str = "src/tools/coverage-dump";
602-
}
603-
604-
impl Step for CoverageDump {
605-
type Output = ();
606-
607-
/// Most contributors won't care about coverage-dump, so don't make their
608-
/// check builds slower unless they opt in and check it explicitly.
609-
const DEFAULT: bool = false;
610-
const ONLY_HOSTS: bool = true;
611-
612-
fn should_run(run: ShouldRun<'_>) -> ShouldRun<'_> {
613-
run.path(Self::PATH)
614-
}
615-
616-
fn make_run(run: RunConfig<'_>) {
617-
run.builder.ensure(Self {});
618-
}
619-
620-
fn run(self, builder: &Builder<'_>) -> Self::Output {
621-
// Make sure we haven't forgotten any fields, if there are any.
622-
let Self {} = self;
623-
let display_name = "coverage-dump";
624-
let host = builder.config.host_target;
625-
let target = host;
626-
let mode = Mode::ToolBootstrap;
627-
628-
let compiler = builder.compiler(0, host);
629-
let cargo = prepare_tool_cargo(
630-
builder,
631-
compiler,
632-
mode,
633-
target,
634-
builder.kind,
635-
Self::PATH,
636-
SourceType::InTree,
637-
&[],
638-
);
639-
640-
let stamp = BuildStamp::new(&builder.cargo_out(compiler, mode, target))
641-
.with_prefix(&format!("{display_name}-check"));
642-
643-
let _guard = builder.msg_tool(
644-
builder.kind,
645-
mode,
646-
display_name,
647-
compiler.stage,
648-
&compiler.host,
649-
&target,
650-
);
651-
run_cargo(builder, cargo, builder.config.free_args.clone(), &stamp, vec![], true, false);
652-
}
653-
}
588+
tool_check_step!(CoverageDump {
589+
path: "src/tools/coverage-dump",
590+
mode: Mode::ToolBootstrap,
591+
default: false
592+
});

0 commit comments

Comments
 (0)