]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
bpo-45269: test wrong `markers` type to `c_make_encoder` (GH-28540) (GH-28610)
authorMiss Islington (bot) <31488909+miss-islington@users.noreply.github.com>
Tue, 28 Sep 2021 21:51:57 +0000 (14:51 -0700)
committerGitHub <noreply@github.com>
Tue, 28 Sep 2021 21:51:57 +0000 (23:51 +0200)
(cherry picked from commit e046aabbe386fdf32bae6ffb7fae5ce479fd10c6)

Co-authored-by: Nikita Sobolev <mail@sobolevn.me>
Lib/test/test_json/test_speedups.py
Misc/NEWS.d/next/Tests/2021-09-24-10-41-49.bpo-45269.8jKEr8.rst [new file with mode: 0644]

index fbfee1a582095b7c173edce617b3c2bf4562153c..682014cfd5b344e8524521d4ddd23dff7d8727be 100644 (file)
@@ -59,6 +59,15 @@ class TestEncode(CTest):
         with self.assertRaises(ZeroDivisionError):
             enc('spam', 4)
 
+    def test_bad_markers_argument_to_encoder(self):
+        # https://bugs.python.org/issue45269
+        with self.assertRaisesRegex(
+            TypeError,
+            r'make_encoder\(\) argument 1 must be dict or None, not int',
+        ):
+            self.json.encoder.c_make_encoder(1, None, None, None, ': ', ', ',
+                                             False, False, False)
+
     def test_bad_bool_args(self):
         def test(name):
             self.json.encoder.JSONEncoder(**{name: BadBool()}).encode({'a': 1})
diff --git a/Misc/NEWS.d/next/Tests/2021-09-24-10-41-49.bpo-45269.8jKEr8.rst b/Misc/NEWS.d/next/Tests/2021-09-24-10-41-49.bpo-45269.8jKEr8.rst
new file mode 100644 (file)
index 0000000..72dd947
--- /dev/null
@@ -0,0 +1 @@
+Cover case when invalid ``markers`` type is supplied to ``c_make_encoder``.