Skip to content

Commit 6e2f5fe

Browse files
committed
Add test codes
1 parent 919be91 commit 6e2f5fe

File tree

1 file changed

+45
-0
lines changed

1 file changed

+45
-0
lines changed

Lib/test/test_opcache.py

Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1372,6 +1372,51 @@ def unpack_sequence_list():
13721372
self.assert_specialized(unpack_sequence_list, "UNPACK_SEQUENCE_LIST")
13731373
self.assert_no_opcode(unpack_sequence_list, "UNPACK_SEQUENCE")
13741374

1375+
@cpython_only
1376+
@requires_specialization_ft
1377+
def test_binary_subscr(self):
1378+
def binary_subscr_list_int():
1379+
for _ in range(100):
1380+
a = [1, 2, 3]
1381+
for idx, expected in enumerate(a):
1382+
self.assertEqual(a[idx], expected)
1383+
1384+
binary_subscr_list_int()
1385+
self.assert_specialized(binary_subscr_list_int,
1386+
"BINARY_SUBSCR_LIST_INT")
1387+
self.assert_no_opcode(binary_subscr_list_int, "BINARY_SUBSCR")
1388+
1389+
def binary_subscr_tuple_int():
1390+
for _ in range(100):
1391+
a = (1, 2, 3)
1392+
for idx, expected in enumerate(a):
1393+
self.assertEqual(a[idx], expected)
1394+
1395+
binary_subscr_tuple_int()
1396+
self.assert_specialized(binary_subscr_tuple_int,
1397+
"BINARY_SUBSCR_TUPLE_INT")
1398+
self.assert_no_opcode(binary_subscr_tuple_int, "BINARY_SUBSCR")
1399+
1400+
def binary_subscr_dict():
1401+
for _ in range(100):
1402+
a = {1: 2, 2: 3}
1403+
self.assertEqual(a[1], 2)
1404+
self.assertEqual(a[2], 3)
1405+
1406+
binary_subscr_dict()
1407+
self.assert_specialized(binary_subscr_dict, "BINARY_SUBSCR_DICT")
1408+
self.assert_no_opcode(binary_subscr_dict, "BINARY_SUBSCR")
1409+
1410+
def binary_subscr_str_int():
1411+
for _ in range(100):
1412+
a = "foobar"
1413+
for idx, expected in enumerate(a):
1414+
self.assertEqual(a[idx], expected)
1415+
1416+
binary_subscr_str_int()
1417+
self.assert_specialized(binary_subscr_str_int, "BINARY_SUBSCR_STR_INT")
1418+
self.assert_no_opcode(binary_subscr_str_int, "BINARY_SUBSCR")
1419+
13751420

13761421
if __name__ == "__main__":
13771422
unittest.main()

0 commit comments

Comments
 (0)