gh-137242: Add a --no-randomize option, and use it in Android CI (#138649)

Adds a --no-randomize option to the CI runner, so that randomisation can be easily
disabled for --fast-ci and --slow-ci configurations on single-threaded testing platforms
like Android, iOS, and Emscripten.

---------

Co-authored-by: Malcolm Smith <smith@chaquo.com>
This commit is contained in:
Victor Stinner 2025-09-09 00:45:42 +02:00 committed by GitHub
parent 22cb9ba8f9
commit 01895d233b
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
3 changed files with 40 additions and 7 deletions

View file

@ -737,12 +737,10 @@ def ci(context):
# Prove the package is self-contained by using it to run the tests.
shutil.unpack_archive(package_path, temp_dir)
# Arguments are similar to --fast-ci, but in single-process mode.
# Randomization is disabled because order-dependent failures are
# much less likely to pass on a rerun in single-process mode.
launcher_args = ["--managed", "maxVersion", "-v"]
test_args = [
"--single-process", "--fail-env-changed", "--rerun", "--slowest",
"--verbose3", "-u", "all,-cpu", "--timeout=600"
]
test_args = ["--fast-ci", "--single-process", "--no-randomize"]
run(
["./android.py", "test", *launcher_args, "--", *test_args],
cwd=temp_dir