gh-110923: Fix silently skipped tests in test__opcode.py (#110926)

This commit is contained in:
Alex Waygood 2023-10-16 14:30:35 +01:00 committed by GitHub
parent bfc1cd8145
commit 14d2d1576d
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 9 additions and 2 deletions

View File

@ -11,7 +11,6 @@ extend-exclude = [
"encoded_modules/module_iso_8859_1.py",
"encoded_modules/module_koi8_r.py",
# TODO Fix: F811 Redefinition of unused name
"test__opcode.py",
"test_buffer.py",
"test_ctypes/test_arrays.py",
"test_ctypes/test_functions.py",

View File

@ -8,6 +8,14 @@ from _opcode import stack_effect
class OpListTests(unittest.TestCase):
def check_bool_function_result(self, func, ops, expected):
for op in ops:
if isinstance(op, str):
op = dis.opmap[op]
with self.subTest(opcode=op, func=func):
self.assertIsInstance(func(op), bool)
self.assertEqual(func(op), expected)
def test_invalid_opcodes(self):
invalid = [-100, -1, 255, 512, 513, 1000]
self.check_bool_function_result(_opcode.is_valid, invalid, False)
@ -47,7 +55,7 @@ class OpListTests(unittest.TestCase):
check_function(self, _opcode.has_exc, dis.hasexc)
class OpListTests(unittest.TestCase):
class StackEffectTests(unittest.TestCase):
def test_stack_effect(self):
self.assertEqual(stack_effect(dis.opmap['POP_TOP']), -1)
self.assertEqual(stack_effect(dis.opmap['BUILD_SLICE'], 0), -1)