mirror of
https://github.com/rust-lang/rust.git
synced 2025-04-30 03:57:37 +00:00
Auto merge of #55661 - kennytm:fix-exclude, r=alexcrichton
Fixed the bug in bootstrap where --exclude was ignored for run-pass test This should fix the 3 hour timeout on AppVeyor which happened a lot recently. Additionally, further rebalanced the AppVeyor subsets by moving "ui" and "linkchecker" into Set 2.
This commit is contained in:
commit
04fdb44f5c
@ -130,7 +130,7 @@ impl PathSet {
|
|||||||
fn has(&self, needle: &Path) -> bool {
|
fn has(&self, needle: &Path) -> bool {
|
||||||
match self {
|
match self {
|
||||||
PathSet::Set(set) => set.iter().any(|p| p.ends_with(needle)),
|
PathSet::Set(set) => set.iter().any(|p| p.ends_with(needle)),
|
||||||
PathSet::Suite(_) => false,
|
PathSet::Suite(suite) => suite.ends_with(needle),
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1849,7 +1849,7 @@ mod __test {
|
|||||||
);
|
);
|
||||||
|
|
||||||
// Ensure we don't build any compiler artifacts.
|
// Ensure we don't build any compiler artifacts.
|
||||||
assert!(builder.cache.all::<compile::Rustc>().is_empty());
|
assert!(!builder.cache.contains::<compile::Rustc>());
|
||||||
assert_eq!(
|
assert_eq!(
|
||||||
first(builder.cache.all::<test::Crate>()),
|
first(builder.cache.all::<test::Crate>()),
|
||||||
&[test::Crate {
|
&[test::Crate {
|
||||||
@ -1861,4 +1861,34 @@ mod __test {
|
|||||||
},]
|
},]
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
fn test_exclude() {
|
||||||
|
let mut config = configure(&[], &[]);
|
||||||
|
config.exclude = vec![
|
||||||
|
"src/test/run-pass".into(),
|
||||||
|
"src/tools/tidy".into(),
|
||||||
|
];
|
||||||
|
config.cmd = Subcommand::Test {
|
||||||
|
paths: Vec::new(),
|
||||||
|
test_args: Vec::new(),
|
||||||
|
rustc_args: Vec::new(),
|
||||||
|
fail_fast: true,
|
||||||
|
doc_tests: DocTests::No,
|
||||||
|
bless: false,
|
||||||
|
compare_mode: None,
|
||||||
|
};
|
||||||
|
|
||||||
|
let build = Build::new(config);
|
||||||
|
let builder = Builder::new(&build);
|
||||||
|
builder.run_step_descriptions(&Builder::get_step_descriptions(Kind::Test), &[]);
|
||||||
|
|
||||||
|
// Ensure we have really excluded run-pass & tidy
|
||||||
|
assert!(!builder.cache.contains::<test::RunPass>());
|
||||||
|
assert!(!builder.cache.contains::<test::Tidy>());
|
||||||
|
|
||||||
|
// Ensure other tests are not affected.
|
||||||
|
assert!(builder.cache.contains::<test::RunPassFullDeps>());
|
||||||
|
assert!(builder.cache.contains::<test::RustdocUi>());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -286,4 +286,9 @@ impl Cache {
|
|||||||
v.sort_by_key(|&(a, _)| a);
|
v.sort_by_key(|&(a, _)| a);
|
||||||
v
|
v
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[cfg(test)]
|
||||||
|
pub fn contains<S: Step>(&self) -> bool {
|
||||||
|
self.0.borrow().contains_key(&TypeId::of::<S>())
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -85,7 +85,12 @@ check-stage2-T-arm-linux-androideabi-H-x86_64-unknown-linux-gnu:
|
|||||||
check-stage2-T-x86_64-unknown-linux-musl-H-x86_64-unknown-linux-gnu:
|
check-stage2-T-x86_64-unknown-linux-musl-H-x86_64-unknown-linux-gnu:
|
||||||
$(Q)$(BOOTSTRAP) test --target x86_64-unknown-linux-musl
|
$(Q)$(BOOTSTRAP) test --target x86_64-unknown-linux-musl
|
||||||
|
|
||||||
TESTS_IN_2 := src/test/run-pass src/test/compile-fail src/test/run-pass-fulldeps
|
TESTS_IN_2 := \
|
||||||
|
src/test/ui \
|
||||||
|
src/test/run-pass \
|
||||||
|
src/test/compile-fail \
|
||||||
|
src/test/run-pass-fulldeps \
|
||||||
|
src/tools/linkchecker
|
||||||
|
|
||||||
appveyor-subset-1:
|
appveyor-subset-1:
|
||||||
$(Q)$(BOOTSTRAP) test $(TESTS_IN_2:%=--exclude %)
|
$(Q)$(BOOTSTRAP) test $(TESTS_IN_2:%=--exclude %)
|
||||||
|
Loading…
Reference in New Issue
Block a user