Skip to content

Commit 4a3cfaa

Browse files
committed
Implement CoverageDump checking through the tool_check_step macro
1 parent b4da3bd commit 4a3cfaa

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
@@ -583,69 +583,8 @@ tool_check_step!(RunMakeSupport {
583583
default: false
584584
});
585585

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

0 commit comments

Comments
 (0)