summaryrefslogtreecommitdiff
path: root/Lib/test/test_unicode.py
diff options
context:
space:
mode:
Diffstat (limited to 'Lib/test/test_unicode.py')
-rw-r--r--Lib/test/test_unicode.py14
1 files changed, 14 insertions, 0 deletions
diff --git a/Lib/test/test_unicode.py b/Lib/test/test_unicode.py
index f825353173..b3d6907eac 100644
--- a/Lib/test/test_unicode.py
+++ b/Lib/test/test_unicode.py
@@ -1113,6 +1113,20 @@ class UnicodeTest(
# will fail
self.assertRaises(UnicodeEncodeError, "foo{0}".format, u'\u1000bar')
+ def test_raiseMemError(self):
+ # Ensure that the freelist contains a consistent object, even
+ # when a string allocation fails with a MemoryError.
+ # This used to crash the interpreter,
+ # or leak references when the number was smaller.
+ try:
+ u"a" * (sys.maxint // 2 - 100)
+ except MemoryError:
+ pass
+ try:
+ u"a" * (sys.maxint // 2 - 100)
+ except MemoryError:
+ pass
+
def test_main():
test_support.run_unittest(__name__)