mirror of
https://git.savannah.gnu.org/git/guix.git
synced 2026-06-19 10:04:06 +02:00
0dec0b3ceb
* gnu/packages/patches/python-ubjson-recursion-test.patch: New file. * gnu/local.mk: Register it * gnu/packages/web.scm (python-py-ubjson)[source]<patches>: Use it. [arguments]<#:phases>: Drop them. <#:test-backend>: Set to unittest. [native-inputs]: Drop python-coverage, lcov. Relocate field. Reviewed-by: Hugo Buddelmeijer <hugo@buddelmeijer.nl> Change-Id: I0090eb39caa431775f8606740d2795eebe5bbc3a Signed-off-by: Nguyễn Gia Phong <cnx@loang.net>
48 lines
1.6 KiB
Diff
48 lines
1.6 KiB
Diff
See first commit of https://github.com/Iotic-Labs/py-ubjson/pull/19
|
|
|
|
---
|
|
test/test.py | 25 ++++++++++---------------
|
|
1 file changed, 10 insertions(+), 15 deletions(-)
|
|
|
|
diff --git a/test/test.py b/test/test.py
|
|
index c3920c4..67a9fbc 100644
|
|
--- a/test/test.py
|
|
+++ b/test/test.py
|
|
@@ -464,23 +464,18 @@ class TestEncodeDecodePlain(TestCase): # pylint: disable=too-many-public-method
|
|
return (self.assertRaisesRegexp if PY2 else self.assertRaisesRegex)(*args, **kwargs)
|
|
|
|
def test_recursion(self):
|
|
- old_limit = getrecursionlimit()
|
|
- setrecursionlimit(200)
|
|
- try:
|
|
- obj = current = []
|
|
- for _ in range(getrecursionlimit() * 2):
|
|
- new_list = []
|
|
- current.append(new_list)
|
|
- current = new_list
|
|
+ obj = current = []
|
|
+ for _ in range(getrecursionlimit() * 30):
|
|
+ new_list = []
|
|
+ current.append(new_list)
|
|
+ current = new_list
|
|
|
|
- with self.assert_raises_regex(RuntimeError, 'recursion'):
|
|
- self.ubjdumpb(obj)
|
|
+ with self.assert_raises_regex(RuntimeError, 'recursion'):
|
|
+ self.ubjdumpb(obj)
|
|
|
|
- raw = ARRAY_START * (getrecursionlimit() * 2)
|
|
- with self.assert_raises_regex(RuntimeError, 'recursion'):
|
|
- self.ubjloadb(raw)
|
|
- finally:
|
|
- setrecursionlimit(old_limit)
|
|
+ raw = ARRAY_START * (getrecursionlimit() * 30)
|
|
+ with self.assert_raises_regex(RuntimeError, 'recursion'):
|
|
+ self.ubjloadb(raw)
|
|
|
|
def test_encode_default(self):
|
|
def default(obj):
|
|
--
|
|
2.52.0
|
|
|