-
-
Notifications
You must be signed in to change notification settings - Fork 30.9k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
gh-108297: Update test_crashers #108299
gh-108297: Update test_crashers #108299
Conversation
I don't understand why they should be moved. |
I created #108303 to move test files to sub-directories: see the rationale there. |
* Rename Lib/test/crashers/ to Lib/test/test_crashers/. * Move Lib/test/test_crashers.py to Lib/test/test_crashers/__init__.py. * test_crashers is no longer skipped and makes sure that scripts do crash, and no simply fail with a non-zero exit code. * Update bogus_code_obj.py to use CodeType.replace(). * Scripts crashing Python now uses SuppressCrashReport of test.support to not create coredump files. * Remove Lib/test/crashers/ scripts which no longer crash: * recursive_call.py: fixed by pythongh-89419 * mutation_inside_cyclegc.py: fixed by pythongh-97922 * trace_at_recursion_limit.py: fixed by Python 3.7
test_crashers was skipped in 2011 by Antoine Pitrou: commit 89ba56d. |
c46bdcc
to
ecb3fd6
Compare
Buildbot failures. test_crashers failed on macOS: underlying_dict.py didn't crash.
Unrelated:
Unrelated: aarch64 Fedora Stable Clang Installed PR:
x86 Gentoo Installed with X PR: same error. Unrelated: AMD64 RHEL8 FIPS Only Blake2 Builtin Hash PR
Unrelated: PPC64 Fedora PR: https://buildbot.python.org/all/#/builders/256/builds/1206
|
Buildbot failures. Unrelated. aarch64 Fedora Stable Clang Installed PR: https://buildbot.python.org/all/#/builders/819/builds/750
Same error on aarch64 Fedora Stable Clang PR. Unrelated. buildbot/aarch64 RHEL8 Refleaks PR: https://buildbot.python.org/all/#/builders/802/builds/975
|
Unrelated: s390x RHEL7 LTO + PGO PR: https://buildbot.python.org/all/#/builders/418/builds/1174
That's the issue #105776: test_cpp and
|
That's a major issue :-( The test was skipped in 2011 because it was not reliable. Is it important that crashers scripts crash "in a reliable way"? Many trigger undefined behaviors which have... undefined behaviors :-( Building Python with UBSan would make these undefined behaviors to have a deterministic behavior, but UBSan is rarely used. Today, we only have ASAN GHA job and buildbots. |
If the test is crashed in 50% of cases, repeating it twice will make it crashing in 75%, and repeating it 10 times will make it crashing in 99.9%. If attempts are independent. |
I created this PR to reenable test_crashers, but now I dislike this idea since crashes are not deterministic: sometimes scripts crash Python, sometimes not. I would prefer to remove test_crashers and keep Lib/crashers/ instead. I close this PR. |
Rename Lib/test/crashers/ to Lib/test/test_crashers/.
Move Lib/test/test_crashers.py to
Lib/test/test_crashers/__init__.py
.test_crashers is no longer skipped and makes sure that scripts do crash, and no simply fail with a non-zero exit code.
Update bogus_code_obj.py to use CodeType.replace().
Scripts crashing Python now uses SuppressCrashReport of test.support to not create coredump files.
Remove Lib/test/crashers/ scripts which no longer crash: