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>
diff --git a/Lib/test/test_dis.py b/Lib/test/test_dis.py
index 7867449..d5d815d 100644
--- a/Lib/test/test_dis.py
+++ b/Lib/test/test_dis.py
@@ -1212,5 +1212,24 @@ def test_from_traceback_dis(self):
b = dis.Bytecode.from_traceback(tb)
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__":
unittest.main()