homepage

This issue tracker has been migrated to GitHub , and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Author agthorr
Recipients
Date 2007年04月21日.03:55:31
SpamBayes Score
Marked as misclassified
Message-id
In-reply-to
Content
Sort of. Below is a test for 32-bit architectures. Unfortunately, on architectures where Py_ssize_t is a 64-bit integer, the multiplication won't overflow and the test really will try to build a list with 2**32 items (which most likely will eventually raise a MemoryError, but it will take a LONG time!). This is probably undesirable. Is there a way to skip this test for non-32-bit architectures?
One way would be to only perform the test if sys.maxint <= 2**31.
Below is a test that can be added to seq_tests.py:
 def test_bigrepeat(self):
 x = self.type2test([0])
 x *= 2**16
 self.assertRaises(MemoryError, x.__mul__, 2**16)
 self.assertRaises(MemoryError, x.__imul__, 2**16)
While writing the test I found a bug in my patch for the case where the list is already size 0. New patch attached.
File Added: list_repeat.patch
History
Date User Action Args
2007年08月23日 15:58:11adminlinkissue1704621 messages
2007年08月23日 15:58:11admincreate

AltStyle によって変換されたページ (->オリジナル) /