diff options
| author | Jakub Beránek <jakub.beranek@vsb.cz> | 2024-07-04 15:51:21 +0200 |
|---|---|---|
| committer | Jakub Beránek <berykubik@gmail.com> | 2024-07-12 20:14:37 +0200 |
| commit | 49f54b8ee8c8ac04e53d30832d52b0b06e43540b (patch) | |
| tree | f850f20f9908f08f5ae49e1273cb682cea6ef964 | |
| parent | 97990a475928cb7428ed945342cec70a4e19c3b2 (diff) | |
| download | rust-49f54b8ee8c8ac04e53d30832d52b0b06e43540b.tar.gz rust-49f54b8ee8c8ac04e53d30832d52b0b06e43540b.zip | |
Configure test execution for the `build_helper` crate in bootstrap
To enable the previously moved `DropBomb` tests.
| -rw-r--r-- | src/bootstrap/src/core/build_steps/test.rs | 47 | ||||
| -rw-r--r-- | src/bootstrap/src/core/builder.rs | 1 |
2 files changed, 48 insertions, 0 deletions
diff --git a/src/bootstrap/src/core/build_steps/test.rs b/src/bootstrap/src/core/build_steps/test.rs index 0b60587bb79..a27d1a59beb 100644 --- a/src/bootstrap/src/core/build_steps/test.rs +++ b/src/bootstrap/src/core/build_steps/test.rs @@ -1352,6 +1352,53 @@ impl Step for CrateRunMakeSupport { } } +#[derive(Debug, Clone, PartialEq, Eq, Hash)] +pub struct CrateBuildHelper { + host: TargetSelection, +} + +impl Step for CrateBuildHelper { + type Output = (); + const ONLY_HOSTS: bool = true; + + fn should_run(run: ShouldRun<'_>) -> ShouldRun<'_> { + run.path("src/tools/build_helper") + } + + fn make_run(run: RunConfig<'_>) { + run.builder.ensure(CrateBuildHelper { host: run.target }); + } + + /// Runs `cargo test` for build_helper. + fn run(self, builder: &Builder<'_>) { + let host = self.host; + let compiler = builder.compiler(builder.top_stage, host); + + builder.ensure(compile::Std::new(compiler, host)); + let mut cargo = tool::prepare_tool_cargo( + builder, + compiler, + Mode::ToolStd, + host, + "test", + "src/tools/build_helper", + SourceType::InTree, + &[], + ); + cargo.allow_features("test"); + run_cargo_test( + cargo, + &[], + &[], + "build_helper", + "build_helper self test", + compiler, + host, + builder, + ); + } +} + default_test!(Ui { path: "tests/ui", mode: "ui", suite: "ui" }); default_test!(Crashes { path: "tests/crashes", mode: "crashes", suite: "crashes" }); diff --git a/src/bootstrap/src/core/builder.rs b/src/bootstrap/src/core/builder.rs index 65cc1fa7478..fd5ddc6d2e6 100644 --- a/src/bootstrap/src/core/builder.rs +++ b/src/bootstrap/src/core/builder.rs @@ -860,6 +860,7 @@ impl<'a> Builder<'a> { test::Clippy, test::CompiletestTest, test::CrateRunMakeSupport, + test::CrateBuildHelper, test::RustdocJSStd, test::RustdocJSNotStd, test::RustdocGUI, |
