diff options
| author | Philipp Hansch <dev@phansch.net> | 2018-12-13 21:57:23 +0100 |
|---|---|---|
| committer | Philipp Hansch <dev@phansch.net> | 2018-12-14 21:42:49 +0100 |
| commit | c435357bc9c6b3ed7028dbe2f727c921065d7378 (patch) | |
| tree | 8304a7c4be53d36b71c164be555e2b425e8f77df /src/bootstrap | |
| parent | f4b07e0713b2d82417968db08cd0575734cdac0d (diff) | |
| download | rust-c435357bc9c6b3ed7028dbe2f727c921065d7378.tar.gz rust-c435357bc9c6b3ed7028dbe2f727c921065d7378.zip | |
Bootstrap: Add testsuite for compiletest tool
The (currently) single unit test of the compiletest tool was never
executed on CI. At least I couldn't find any references of it in the
logs. This adds a test suite for compiletest so that our tester is
tested, too.
The compiletest tests can then also be executed with:
./x.py test src/tools/compiletest
Diffstat (limited to 'src/bootstrap')
| -rw-r--r-- | src/bootstrap/builder.rs | 1 | ||||
| -rw-r--r-- | src/bootstrap/test.rs | 39 |
2 files changed, 40 insertions, 0 deletions
diff --git a/src/bootstrap/builder.rs b/src/bootstrap/builder.rs index 32f3e573d68..c1d56865da5 100644 --- a/src/bootstrap/builder.rs +++ b/src/bootstrap/builder.rs @@ -416,6 +416,7 @@ impl<'a> Builder<'a> { test::Rustfmt, test::Miri, test::Clippy, + test::CompiletestTest, test::RustdocJS, test::RustdocTheme, // Run bootstrap close to the end as it's unlikely to fail diff --git a/src/bootstrap/test.rs b/src/bootstrap/test.rs index dc061fe5099..87d5737e2a0 100644 --- a/src/bootstrap/test.rs +++ b/src/bootstrap/test.rs @@ -430,6 +430,45 @@ impl Step for Miri { } #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)] +pub struct CompiletestTest { + stage: u32, + host: Interned<String>, +} + +impl Step for CompiletestTest { + type Output = (); + + fn should_run(run: ShouldRun) -> ShouldRun { + run.path("src/tools/compiletest") + } + + fn make_run(run: RunConfig) { + run.builder.ensure(CompiletestTest { + stage: run.builder.top_stage, + host: run.target, + }); + } + + /// Runs `cargo test` for compiletest. + fn run(self, builder: &Builder) { + let stage = self.stage; + let host = self.host; + let compiler = builder.compiler(stage, host); + + let mut cargo = tool::prepare_tool_cargo(builder, + compiler, + Mode::ToolBootstrap, + host, + "test", + "src/tools/compiletest", + SourceType::InTree, + &[]); + + try_run(builder, &mut cargo); + } +} + +#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)] pub struct Clippy { stage: u32, host: Interned<String>, |
