Rollup merge of #115088 - LuuuXXX:issue-112009, r=albertlarsan68
Fix Step Skipping Caused by Using the `--exclude` Option
The original code was overreacting to the `--exclude` option,
eadf69a6c6/src/bootstrap/builder.rs (L257-L260)
For example:
When `x test --exclude alloc` or `x test --exclude library/alloc` is passed, the entire libraray test is skipped.
Related issues:
https://github.com/rust-lang/rust/issues/112009
This commit is contained in:
commit
dcb465995d
@ -302,8 +302,10 @@ fn from<S: Step>(kind: Kind) -> StepDescription {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
fn maybe_run(&self, builder: &Builder<'_>, pathsets: Vec<PathSet>) {
|
fn maybe_run(&self, builder: &Builder<'_>, mut pathsets: Vec<PathSet>) {
|
||||||
if pathsets.iter().any(|set| self.is_excluded(builder, set)) {
|
pathsets.retain(|set| !self.is_excluded(builder, set));
|
||||||
|
|
||||||
|
if pathsets.is_empty() {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -136,9 +136,9 @@ fn test_exclude_kind() {
|
|||||||
let mut config = configure("test", &["A"], &["A"]);
|
let mut config = configure("test", &["A"], &["A"]);
|
||||||
// Ensure our test is valid, and `test::Rustc` would be run without the exclude.
|
// Ensure our test is valid, and `test::Rustc` would be run without the exclude.
|
||||||
assert!(run_build(&[], config.clone()).contains::<test::CrateLibrustc>());
|
assert!(run_build(&[], config.clone()).contains::<test::CrateLibrustc>());
|
||||||
// Ensure tests for rustc are skipped.
|
// Ensure tests for rustc are not skipped.
|
||||||
config.skip = vec![path.clone()];
|
config.skip = vec![path.clone()];
|
||||||
assert!(!run_build(&[], config.clone()).contains::<test::CrateLibrustc>());
|
assert!(run_build(&[], config.clone()).contains::<test::CrateLibrustc>());
|
||||||
// Ensure builds for rustc are not skipped.
|
// Ensure builds for rustc are not skipped.
|
||||||
assert!(run_build(&[], config).contains::<compile::Rustc>());
|
assert!(run_build(&[], config).contains::<compile::Rustc>());
|
||||||
}
|
}
|
||||||
|
@ -58,5 +58,6 @@ ENV NO_CHANGE_USER=1
|
|||||||
RUN chown 10719 -R /emsdk-portable/
|
RUN chown 10719 -R /emsdk-portable/
|
||||||
|
|
||||||
# Exclude library/alloc due to OOM in benches.
|
# Exclude library/alloc due to OOM in benches.
|
||||||
|
# FIXME: Fix std tests
|
||||||
ENV SCRIPT python3 ../x.py test --stage 2 --host='' --target $TARGETS \
|
ENV SCRIPT python3 ../x.py test --stage 2 --host='' --target $TARGETS \
|
||||||
--skip library/alloc
|
--skip library/alloc --skip library/std
|
||||||
|
Loading…
Reference in New Issue
Block a user