From f6a5c914982cc0f04428fbe87a3057d3e35fd80c Mon Sep 17 00:00:00 2001 From: Victor Stinner Date: Wed, 30 Aug 2023 18:16:05 +0200 Subject: [PATCH] gh-108297: Remove test_crashers The test was skipped in 2011 by commit 89ba56d5fb1335ef808b87cd33cba95ea141c65d. Scripts in Lib/test/crashers/ do not crash on a reliable way. They rely on undefined behaviors, like state of the stack memory, and so may or may not crash. It is not worth it to make sure that they crash in a continious integration, they should be run manually time to time instead. --- Lib/test/test_crashers.py | 37 ------------------------------------- 1 file changed, 37 deletions(-) delete mode 100644 Lib/test/test_crashers.py diff --git a/Lib/test/test_crashers.py b/Lib/test/test_crashers.py deleted file mode 100644 index 31b712028f8a12..00000000000000 --- a/Lib/test/test_crashers.py +++ /dev/null @@ -1,37 +0,0 @@ -# Tests that the crashers in the Lib/test/crashers directory actually -# do crash the interpreter as expected -# -# If a crasher is fixed, it should be moved elsewhere in the test suite to -# ensure it continues to work correctly. - -import unittest -import glob -import os.path -import test.support -from test.support.script_helper import assert_python_failure - -CRASHER_DIR = os.path.join(os.path.dirname(__file__), "crashers") -CRASHER_FILES = os.path.join(glob.escape(CRASHER_DIR), "*.py") - -infinite_loops = ["infinite_loop_re.py", "nasty_eq_vs_dict.py"] - -class CrasherTest(unittest.TestCase): - - @unittest.skip("these tests are too fragile") - @test.support.cpython_only - def test_crashers_crash(self): - for fname in glob.glob(CRASHER_FILES): - if os.path.basename(fname) in infinite_loops: - continue - # Some "crashers" only trigger an exception rather than a - # segfault. Consider that an acceptable outcome. - if test.support.verbose: - print("Checking crasher:", fname) - assert_python_failure(fname) - - -def tearDownModule(): - test.support.reap_children() - -if __name__ == "__main__": - unittest.main()