Drop serial MP CI retries and killpg overlay (#8756)

Multiprocessing fork/spawn/forkserver now run in the main -j $CORES
CPython test job. Remove expectedFailureIf for os.killpg now that
killpg exists.

Assisted-by: Grok:4.6
This commit is contained in:
Jeong, YunWon authored and GitHub committed 2026-09-21 12:19:14 +09:00
1 parent e189ca7923
commit 54420c4471
3 files changed
+2 -38

No files matched your search

+1 -35
View File
@@ -454,11 +454,6 @@ jobs:
if: ${{ !contains(github.event.pull_request.labels.*.name, 'skip:ci') }}
env:
RUST_BACKTRACE: full
# Tests that can be flaky when running with multiple processes `-j 2`. We will use `-j 1` for these.
FLAKY_MP_TESTS: >-
test_multiprocessing_fork
test_multiprocessing_forkserver
test_multiprocessing_spawn
# Named after the matrix entry rather than left to be named for it: a
# generated name lists every value in the entry, so adding or removing one
# renames the check and drops it from the required list.
@@ -472,7 +467,6 @@ jobs:
- '-u all'
- '--timeout 600'
- '--dont-add-python-opts'
extra_flaky_mp_tests: []
env_polluting_tests: []
skips: []
timeout: 50
@@ -481,7 +475,6 @@ jobs:
- '-u all'
- '--timeout 600'
- '--dont-add-python-opts'
extra_flaky_mp_tests: []
env_polluting_tests: []
skips: []
timeout: 60
@@ -490,7 +483,6 @@ jobs:
- '-u all'
- '--timeout 600'
- '--dont-add-python-opts'
extra_flaky_mp_tests: []
env_polluting_tests: []
skips: []
timeout: 50
@@ -552,41 +544,15 @@ jobs:
- name: Run CPython tests
run: |
target/release/rustpython -u -m test --slow-ci -j "$CORES" $EXTRA_TEST_ARGS -x $FLAKY_MP_TESTS $EXTRA_FLAKY_MP_TESTS $SKIPS
target/release/rustpython -u -m test --slow-ci -j "$CORES" $EXTRA_TEST_ARGS $SKIPS
timeout-minutes: ${{ matrix.timeout }}
shell: bash
env:
RUSTPYTHON_SKIP_ENV_POLLUTERS: true
CORES: ${{ steps.cores.outputs.cores }}
EXTRA_TEST_ARGS: ${{ join(matrix.extra_test_args, ' ') }}
EXTRA_FLAKY_MP_TESTS: ${{ join(matrix.extra_flaky_mp_tests, ' ') }}
SKIPS: ${{ join(matrix.skips, ' ') }}
- name: Run flaky MP CPython tests
run: |
for attempt in $(seq 1 5); do
echo "::group::Attempt ${attempt}"
set +e
target/release/rustpython -u -m test --slow-ci -j 1 $EXTRA_TEST_ARGS $FLAKY_MP_TESTS $EXTRA_FLAKY_MP_TESTS
status=$?
set -e
echo "::endgroup::"
if [ $status -eq 0 ]; then
exit 0
fi
done
exit 1
timeout-minutes: ${{ matrix.timeout }}
shell: bash
env:
RUSTPYTHON_SKIP_ENV_POLLUTERS: true
EXTRA_TEST_ARGS: ${{ join(matrix.extra_test_args, ' ') }}
EXTRA_FLAKY_MP_TESTS: ${{ join(matrix.extra_flaky_mp_tests, ' ') }}
- name: run cpython tests to check if env polluters have stopped polluting
shell: bash
run: |
-1
View File
@@ -6269,7 +6269,6 @@ class TestResourceTracker(unittest.TestCase):
# restore sigmask to what it was before executing test
signal.pthread_sigmask(signal.SIG_SETMASK, orig_sigmask)
@unittest.expectedFailureIf(not hasattr(os, "killpg"), "TODO: RUSTPYTHON")
@only_run_in_forkserver_testsuite("avoids redundant testing.")
def test_resource_tracker_fork_deadlock(self):
# gh-146313: ResourceTracker.__del__ used to deadlock if a forked
+1 -2
View File
@@ -134,8 +134,7 @@ mod _multiprocessing {
}
}
// Poll with signal checking (CPython uses WaitForMultipleObjectsEx
// with sigint_event; we poll since RustPython has no sigint event)
// Poll with signal checking. There is no sigint event to wait on.
let poll_ms: u32 = 100;
let mut elapsed: u32 = 0;
loop {