memory/gc/test/test_incminimark.py::test_set_major_threshold
def test_set_major_threshold():
gc = IncrementalMiniMarkGC(None, major_collection_threshold=2.0,
> growth_rate_max=1.5)
memory/gc/test/test_incminimark.py:34:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
memory/gc/incminimark.py:299: in __init__
self._setup_rawrefcount_pyobj_hdr(config)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <rpython.memory.gc.incminimark.IncrementalMiniMarkGC object at 0x00007ff207022c60>
config = None
def _setup_rawrefcount_pyobj_hdr(self, config):
"NOT_RPYTHON"
# ob_pypy_link storage: cpyext builds that need the visible PyObject header
# to match CPython's {ob_refcnt, ob_type} exactly (abi3 wheel loading) move
# the link to a hidden prefix word immediately *before* ob_refcnt, like
# PyGC_HEAD; their cpyext allocator reserves that word. Builds that don't
# need abi3 compatibility keep the link inline as a regular header field,
# as PyPy has always done -- their allocator never reserves a prefix word,
# so turning this on without the matching cpyext change corrupts memory
# before every allocation.
#
# translation.rawrefcount_link_prefix is the single source of truth for
# this choice; it is False everywhere except where a target explicitly
# opts in (see pypy/goal/targetpypystandalone.py, set for the py3.12/abi3
# build). rpython.rlib.rawrefcount.RRC_LINK_PREFIX mirrors this value for
# its untranslated (test-only) equivalents and must be kept in sync by hand.
> self.rrc_link_prefix = config.rawrefcount_link_prefix
E AttributeError: 'NoneType' object has no attribute 'rawrefcount_link_prefix'
memory/gc/incminimark.py:3182: AttributeError
builder: rpython-macos-x86-64 build #764*
test: memory/gc/test/test_incminimark.py::test_set_major_threshold