import _testinternalcapi
+def disabling_optimizer(func):
+ def wrapper(*args, **kwargs):
+ import _testinternalcapi
+ old_opt = _testinternalcapi.get_optimizer()
+ _testinternalcapi.set_optimizer(None)
+ try:
+ return func(*args, **kwargs)
+ finally:
+ _testinternalcapi.set_optimizer(old_opt)
+
+ return wrapper
+
+
class TestLoadSuperAttrCache(unittest.TestCase):
def test_descriptor_not_double_executed_on_spec_fail(self):
calls = []
opnames = {instruction.opname for instruction in instructions}
self.assertIn(opname, opnames)
+ @disabling_optimizer
def assert_races_do_not_crash(
self, opname, get_items, read, write, *, check_items=False
):