Skip to content

Commit

Permalink
pythongh-118846: Fix PGO tests in free-threaded build (python#118862)
Browse files Browse the repository at this point in the history
Avoid immortalizing objects in tests that verify garbage collection of
classes or modules.

This fixes test_ordered_dict and test_struct.
  • Loading branch information
colesbury authored May 9, 2024
1 parent 71cc065 commit 1b1db2f
Show file tree
Hide file tree
Showing 2 changed files with 4 additions and 2 deletions.
3 changes: 2 additions & 1 deletion Lib/test/test_ordered_dict.py
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@
import weakref
from collections.abc import MutableMapping
from test import mapping_tests, support
from test.support import import_helper
from test.support import import_helper, suppress_immortalization


py_coll = import_helper.import_fresh_module('collections',
Expand Down Expand Up @@ -667,6 +667,7 @@ def test_dict_update(self):
dict.update(od, [('spam', 1)])
self.assertNotIn('NULL', repr(od))

@suppress_immortalization()
def test_reference_loop(self):
# Issue 25935
OrderedDict = self.OrderedDict
Expand Down
3 changes: 2 additions & 1 deletion Lib/test/test_struct.py
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
import weakref

from test import support
from test.support import import_helper
from test.support import import_helper, suppress_immortalization
from test.support.script_helper import assert_python_ok

ISBIGENDIAN = sys.byteorder == "big"
Expand Down Expand Up @@ -674,6 +674,7 @@ def __del__(self):
self.assertIn(b"Exception ignored in:", stderr)
self.assertIn(b"C.__del__", stderr)

@suppress_immortalization()
def test__struct_reference_cycle_cleaned_up(self):
# Regression test for python/cpython#94207.

Expand Down

0 comments on commit 1b1db2f

Please sign in to comment.