aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/Lib/test/test_json/test_recursion.py
diff options
context:
space:
mode:
authorSerhiy Storchaka <storchaka@gmail.com>2024-07-23 20:02:54 +0300
committerGitHub <noreply@github.com>2024-07-23 20:02:54 +0300
commite6b25e9a09dbe09839b36f97b9174a30b1db2dbf (patch)
tree000493ed4293ecce1a6433e8892212fe9809c3d6 /Lib/test/test_json/test_recursion.py
parentc908d1f87d287a4b3ec58c85b692a7eb617fa6ea (diff)
downloadcpython-e6b25e9a09dbe09839b36f97b9174a30b1db2dbf.tar.gz
cpython-e6b25e9a09dbe09839b36f97b9174a30b1db2dbf.zip
gh-122163: Add notes for JSON serialization errors (GH-122165)
This allows to identify the source of the error.
Diffstat (limited to 'Lib/test/test_json/test_recursion.py')
-rw-r--r--Lib/test/test_json/test_recursion.py18
1 files changed, 10 insertions, 8 deletions
diff --git a/Lib/test/test_json/test_recursion.py b/Lib/test/test_json/test_recursion.py
index 164ff2013eb..290207e9c15 100644
--- a/Lib/test/test_json/test_recursion.py
+++ b/Lib/test/test_json/test_recursion.py
@@ -12,8 +12,8 @@ class TestRecursion:
x.append(x)
try:
self.dumps(x)
- except ValueError:
- pass
+ except ValueError as exc:
+ self.assertEqual(exc.__notes__, ["when serializing list item 0"])
else:
self.fail("didn't raise ValueError on list recursion")
x = []
@@ -21,8 +21,8 @@ class TestRecursion:
x.append(y)
try:
self.dumps(x)
- except ValueError:
- pass
+ except ValueError as exc:
+ self.assertEqual(exc.__notes__, ["when serializing list item 0"]*2)
else:
self.fail("didn't raise ValueError on alternating list recursion")
y = []
@@ -35,8 +35,8 @@ class TestRecursion:
x["test"] = x
try:
self.dumps(x)
- except ValueError:
- pass
+ except ValueError as exc:
+ self.assertEqual(exc.__notes__, ["when serializing dict item 'test'"])
else:
self.fail("didn't raise ValueError on dict recursion")
x = {}
@@ -60,8 +60,10 @@ class TestRecursion:
enc.recurse = True
try:
enc.encode(JSONTestObject)
- except ValueError:
- pass
+ except ValueError as exc:
+ self.assertEqual(exc.__notes__,
+ ["when serializing list item 0",
+ "when serializing type object"])
else:
self.fail("didn't raise ValueError on default recursion")