summaryrefslogtreecommitdiffstats
path: root/Lib
diff options
context:
space:
mode:
authorSerhiy Storchaka <storchaka@gmail.com>2017-04-16 06:37:18 (GMT)
committerGitHub <noreply@github.com>2017-04-16 06:37:18 (GMT)
commitbaf9f29811dba9c06e76b8e220bd77260202f299 (patch)
tree2057d3d950d1411d7399929558745fd63230556a /Lib
parent813f943c592cf225871b99cffc99304c8cbbee40 (diff)
downloadcpython-baf9f29811dba9c06e76b8e220bd77260202f299.zip
cpython-baf9f29811dba9c06e76b8e220bd77260202f299.tar.gz
cpython-baf9f29811dba9c06e76b8e220bd77260202f299.tar.bz2
bpo-29839: Raise ValueError rather than OverflowError in len() for negative values. (#701)
Diffstat (limited to 'Lib')
-rw-r--r--Lib/test/test_builtin.py8
1 files changed, 8 insertions, 0 deletions
diff --git a/Lib/test/test_builtin.py b/Lib/test/test_builtin.py
index d2420e9..6613ca3 100644
--- a/Lib/test/test_builtin.py
+++ b/Lib/test/test_builtin.py
@@ -770,10 +770,18 @@ class BuiltinTest(unittest.TestCase):
def __len__(self):
return 4.5
self.assertRaises(TypeError, len, FloatLen())
+ class NegativeLen:
+ def __len__(self):
+ return -10
+ self.assertRaises(ValueError, len, NegativeLen())
class HugeLen:
def __len__(self):
return sys.maxsize + 1
self.assertRaises(OverflowError, len, HugeLen())
+ class HugeNegativeLen:
+ def __len__(self):
+ return -sys.maxsize-10
+ self.assertRaises(ValueError, len, HugeNegativeLen())
class NoLenMethod(object): pass
self.assertRaises(TypeError, len, NoLenMethod())