]> granicus.if.org Git - python/commitdiff
Add bigmemtest decorator to test of issue #16335.
authorSerhiy Storchaka <storchaka@gmail.com>
Mon, 21 Jan 2013 18:23:01 +0000 (20:23 +0200)
committerSerhiy Storchaka <storchaka@gmail.com>
Mon, 21 Jan 2013 18:23:01 +0000 (20:23 +0200)
Lib/test/test_ucn.py

index 69025444ac59d90973cdf5af91dd1fa23561f47d..b833134a84a1ecb041f76af9bbd860ef20d99df7 100644 (file)
@@ -8,6 +8,7 @@ Modified for Python 2.0 by Fredrik Lundh (fredrik@pythonware.com)
 """#"
 
 import unittest
+import sys
 import _testcapi
 
 from test import test_support
@@ -140,18 +141,19 @@ class UnicodeNamesTest(unittest.TestCase):
 
     @unittest.skipUnless(_testcapi.INT_MAX < _testcapi.PY_SSIZE_T_MAX,
                          "needs UINT_MAX < SIZE_MAX")
-    def test_issue16335(self):
+    @unittest.skipUnless(_testcapi.UINT_MAX < sys.maxint,
+                         "needs UINT_MAX < sys.maxint")
+    @test_support.bigmemtest(minsize=_testcapi.UINT_MAX + 1,
+                             memuse=1 + 4 // len(u'\U00010000'))
+    def test_issue16335(self, size):
         # very very long bogus character name
-        try:
-            x = b'\\N{SPACE' + b'x' * int(_testcapi.UINT_MAX + 1) + b'}'
-            self.assertEqual(len(x), len(b'\\N{SPACE}') +
-                                     (_testcapi.UINT_MAX + 1))
-            self.assertRaisesRegexp(UnicodeError,
-                'unknown Unicode character name',
-                x.decode, 'unicode-escape'
-            )
-        except MemoryError:
-            raise unittest.SkipTest("not enough memory")
+        x = b'\\N{SPACE' + b'x' * int(_testcapi.UINT_MAX + 1) + b'}'
+        self.assertEqual(len(x), len(b'\\N{SPACE}') +
+                                    (_testcapi.UINT_MAX + 1))
+        self.assertRaisesRegexp(UnicodeError,
+            'unknown Unicode character name',
+            x.decode, 'unicode-escape'
+        )
 
 
 def test_main():