diff options
| author | Guillaume Gomez <guillaume1.gomez@gmail.com> | 2023-09-08 14:10:50 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2023-09-08 14:10:50 +0200 |
| commit | dcb465995da3309bda9ba1fa286cb4d6a6c77e99 (patch) | |
| tree | b9ea89a6bbd69860a23767d08231817207a5987c | |
| parent | 2cceedd0ef9fc26250f3d27f7fd4e980f1deb72d (diff) | |
| parent | 45abd8caf2d596a520a8b712967aa19d799d002b (diff) | |
| download | rust-dcb465995da3309bda9ba1fa286cb4d6a6c77e99.tar.gz rust-dcb465995da3309bda9ba1fa286cb4d6a6c77e99.zip | |
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, https://github.com/rust-lang/rust/blob/eadf69a6c6edfe220fc5b1b659e46e271d75a3a1/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
| -rw-r--r-- | src/bootstrap/builder.rs | 6 | ||||
| -rw-r--r-- | src/bootstrap/builder/tests.rs | 4 | ||||
| -rw-r--r-- | src/ci/docker/host-x86_64/wasm32/Dockerfile | 3 |
3 files changed, 8 insertions, 5 deletions
diff --git a/src/bootstrap/builder.rs b/src/bootstrap/builder.rs index a24a6a4636d..c62548875bf 100644 --- a/src/bootstrap/builder.rs +++ b/src/bootstrap/builder.rs @@ -302,8 +302,10 @@ impl StepDescription { } } - fn maybe_run(&self, builder: &Builder<'_>, pathsets: Vec<PathSet>) { - if pathsets.iter().any(|set| self.is_excluded(builder, set)) { + fn maybe_run(&self, builder: &Builder<'_>, mut pathsets: Vec<PathSet>) { + pathsets.retain(|set| !self.is_excluded(builder, set)); + + if pathsets.is_empty() { return; } diff --git a/src/bootstrap/builder/tests.rs b/src/bootstrap/builder/tests.rs index 43b4a34fe5b..80e66622e8b 100644 --- a/src/bootstrap/builder/tests.rs +++ b/src/bootstrap/builder/tests.rs @@ -136,9 +136,9 @@ fn test_exclude_kind() { let mut config = configure("test", &["A"], &["A"]); // Ensure our test is valid, and `test::Rustc` would be run without the exclude. 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()]; - assert!(!run_build(&[], config.clone()).contains::<test::CrateLibrustc>()); + assert!(run_build(&[], config.clone()).contains::<test::CrateLibrustc>()); // Ensure builds for rustc are not skipped. assert!(run_build(&[], config).contains::<compile::Rustc>()); } diff --git a/src/ci/docker/host-x86_64/wasm32/Dockerfile b/src/ci/docker/host-x86_64/wasm32/Dockerfile index 02b4664eb55..0d0f1edd003 100644 --- a/src/ci/docker/host-x86_64/wasm32/Dockerfile +++ b/src/ci/docker/host-x86_64/wasm32/Dockerfile @@ -58,5 +58,6 @@ ENV NO_CHANGE_USER=1 RUN chown 10719 -R /emsdk-portable/ # Exclude library/alloc due to OOM in benches. +# FIXME: Fix std tests ENV SCRIPT python3 ../x.py test --stage 2 --host='' --target $TARGETS \ - --skip library/alloc + --skip library/alloc --skip library/std |
