gh-118331: Fix test_list.ListTest.test_no_memory under trace refs build (#130921)

Fix `test_list.ListTest.test_no_memory` under trace refs build

Memory allocation ends up failing in _PyRefchainTrace(), which produces
different output. Assert that we don't segfault, which is the thing
we want to test and is less brittle than checking output.
This commit is contained in:
mpage 2025-03-06 12:11:50 -08:00 committed by GitHub
parent c4d37eefb7
commit 6c6600f683
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -1,3 +1,4 @@
import signal
import sys
import textwrap
from test import list_tests, support
@ -324,8 +325,12 @@ class ListTest(list_tests.CommonTest):
_testcapi.set_nomemory(0)
l = [None]
""")
_, _, err = assert_python_failure("-c", code)
self.assertIn("MemoryError", err.decode("utf-8"))
rc, _, _ = assert_python_failure("-c", code)
if support.MS_WINDOWS:
# STATUS_ACCESS_VIOLATION
self.assertNotEqual(rc, 0xC0000005)
else:
self.assertNotEqual(rc, -int(signal.SIGSEGV))
if __name__ == "__main__":
unittest.main()