bpo-42199: Fix bytecode_helper assertNotInBytecode (#23031)
* bpo-42199: Fix bytecode_helper assertNotInBytecode Add tests. * 📜🤖 Added by blurb_it. Co-authored-by: Dino Viehland <dinoviehland@fb.com> Co-authored-by: blurb-it[bot] <43283697+blurb-it[bot]@users.noreply.github.com>
This commit is contained in:
parent
074ad5123f
commit
6e799be0a1
|
@ -35,7 +35,8 @@ class BytecodeTestCase(unittest.TestCase):
|
||||||
disassembly = self.get_disassembly_as_string(x)
|
disassembly = self.get_disassembly_as_string(x)
|
||||||
if argval is _UNSPECIFIED:
|
if argval is _UNSPECIFIED:
|
||||||
msg = '%s occurs in bytecode:\n%s' % (opname, disassembly)
|
msg = '%s occurs in bytecode:\n%s' % (opname, disassembly)
|
||||||
|
self.fail(msg)
|
||||||
elif instr.argval == argval:
|
elif instr.argval == argval:
|
||||||
msg = '(%s,%r) occurs in bytecode:\n%s'
|
msg = '(%s,%r) occurs in bytecode:\n%s'
|
||||||
msg = msg % (opname, argval, disassembly)
|
msg = msg % (opname, argval, disassembly)
|
||||||
self.fail(msg)
|
self.fail(msg)
|
||||||
|
|
|
@ -1212,5 +1212,24 @@ class BytecodeTests(unittest.TestCase):
|
||||||
b = dis.Bytecode.from_traceback(tb)
|
b = dis.Bytecode.from_traceback(tb)
|
||||||
self.assertEqual(b.dis(), dis_traceback)
|
self.assertEqual(b.dis(), dis_traceback)
|
||||||
|
|
||||||
|
|
||||||
|
class TestBytecodeTestCase(BytecodeTestCase):
|
||||||
|
def test_assert_not_in_with_op_not_in_bytecode(self):
|
||||||
|
code = compile("a = 1", "<string>", "exec")
|
||||||
|
self.assertInBytecode(code, "LOAD_CONST", 1)
|
||||||
|
self.assertNotInBytecode(code, "LOAD_NAME")
|
||||||
|
self.assertNotInBytecode(code, "LOAD_NAME", "a")
|
||||||
|
|
||||||
|
def test_assert_not_in_with_arg_not_in_bytecode(self):
|
||||||
|
code = compile("a = 1", "<string>", "exec")
|
||||||
|
self.assertInBytecode(code, "LOAD_CONST")
|
||||||
|
self.assertInBytecode(code, "LOAD_CONST", 1)
|
||||||
|
self.assertNotInBytecode(code, "LOAD_CONST", 2)
|
||||||
|
|
||||||
|
def test_assert_not_in_with_arg_in_bytecode(self):
|
||||||
|
code = compile("a = 1", "<string>", "exec")
|
||||||
|
with self.assertRaises(AssertionError):
|
||||||
|
self.assertNotInBytecode(code, "LOAD_CONST", 1)
|
||||||
|
|
||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
unittest.main()
|
unittest.main()
|
||||||
|
|
|
@ -0,0 +1 @@
|
||||||
|
Fix bytecode helper assertNotInBytecode.
|
Loading…
Reference in New Issue