diff options
| author | Simon <simon@hardwired.org.uk> | 2011-03-22 17:58:52 (GMT) |
|---|---|---|
| committer | Simon <simon@hardwired.org.uk> | 2011-03-22 17:58:52 (GMT) |
| commit | 2e401babb793238564ca640fc802a52ab7f6c293 (patch) | |
| tree | 87a9b471e82604e76f96d556f5771322fb31818a /src/python/stdlib/test/test_bigaddrspace.py | |
| parent | c096b2b14a200a0cc0a08cfea839c9e7f4edf22e (diff) | |
| parent | 04a9cbcb8855e64db660a8c6e23d79114b4afd83 (diff) | |
| download | powder-2e401babb793238564ca640fc802a52ab7f6c293.zip powder-2e401babb793238564ca640fc802a52ab7f6c293.tar.gz | |
Python console
Diffstat (limited to 'src/python/stdlib/test/test_bigaddrspace.py')
| -rw-r--r-- | src/python/stdlib/test/test_bigaddrspace.py | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/src/python/stdlib/test/test_bigaddrspace.py b/src/python/stdlib/test/test_bigaddrspace.py new file mode 100644 index 0000000..db19a53 --- /dev/null +++ b/src/python/stdlib/test/test_bigaddrspace.py @@ -0,0 +1,46 @@ +from test import test_support +from test.test_support import bigaddrspacetest, MAX_Py_ssize_t + +import unittest +import operator +import sys + + +class StrTest(unittest.TestCase): + + @bigaddrspacetest + def test_concat(self): + s1 = 'x' * MAX_Py_ssize_t + self.assertRaises(OverflowError, operator.add, s1, '?') + + @bigaddrspacetest + def test_optimized_concat(self): + x = 'x' * MAX_Py_ssize_t + try: + x = x + '?' # this statement uses a fast path in ceval.c + except OverflowError: + pass + else: + self.fail("should have raised OverflowError") + try: + x += '?' # this statement uses a fast path in ceval.c + except OverflowError: + pass + else: + self.fail("should have raised OverflowError") + self.assertEqual(len(x), MAX_Py_ssize_t) + + ### the following test is pending a patch + # (http://mail.python.org/pipermail/python-dev/2006-July/067774.html) + #@bigaddrspacetest + #def test_repeat(self): + # self.assertRaises(OverflowError, operator.mul, 'x', MAX_Py_ssize_t + 1) + + +def test_main(): + test_support.run_unittest(StrTest) + +if __name__ == '__main__': + if len(sys.argv) > 1: + test_support.set_memlimit(sys.argv[1]) + test_main() |
