mirror of https://github.com/python/cpython.git
gh-115999: Update test_opcache to test with nested method (gh-128166)
gh-115999: Update test_opcace to test with nested method
This commit is contained in:
parent
180d417e9f
commit
c5b0c90b62
|
@ -606,7 +606,7 @@ def assert_races_do_not_crash(
|
||||||
for writer in writers:
|
for writer in writers:
|
||||||
writer.join()
|
writer.join()
|
||||||
|
|
||||||
@requires_specialization
|
@requires_specialization_ft
|
||||||
def test_binary_subscr_getitem(self):
|
def test_binary_subscr_getitem(self):
|
||||||
def get_items():
|
def get_items():
|
||||||
class C:
|
class C:
|
||||||
|
@ -1242,14 +1242,6 @@ def f(o, n):
|
||||||
f(test_obj, 1)
|
f(test_obj, 1)
|
||||||
self.assertEqual(test_obj.b, 0)
|
self.assertEqual(test_obj.b, 0)
|
||||||
|
|
||||||
# gh-127274: BINARY_SUBSCR_GETITEM will only cache __getitem__ methods that
|
|
||||||
# are deferred. We only defer functions defined at the top-level.
|
|
||||||
class CGetItem:
|
|
||||||
def __init__(self, val):
|
|
||||||
self.val = val
|
|
||||||
def __getitem__(self, item):
|
|
||||||
return self.val
|
|
||||||
|
|
||||||
|
|
||||||
class TestSpecializer(TestBase):
|
class TestSpecializer(TestBase):
|
||||||
|
|
||||||
|
@ -1592,7 +1584,13 @@ def binary_subscr_str_int():
|
||||||
self.assert_no_opcode(binary_subscr_str_int, "BINARY_SUBSCR")
|
self.assert_no_opcode(binary_subscr_str_int, "BINARY_SUBSCR")
|
||||||
|
|
||||||
def binary_subscr_getitems():
|
def binary_subscr_getitems():
|
||||||
items = [CGetItem(i) for i in range(100)]
|
class C:
|
||||||
|
def __init__(self, val):
|
||||||
|
self.val = val
|
||||||
|
def __getitem__(self, item):
|
||||||
|
return self.val
|
||||||
|
|
||||||
|
items = [C(i) for i in range(100)]
|
||||||
for i in range(100):
|
for i in range(100):
|
||||||
self.assertEqual(items[i][i], i)
|
self.assertEqual(items[i][i], i)
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue