summaryrefslogtreecommitdiffstats
path: root/Lib
diff options
context:
space:
mode:
authorSerhiy Storchaka <storchaka@gmail.com>2013-02-11 18:33:24 (GMT)
committerSerhiy Storchaka <storchaka@gmail.com>2013-02-11 18:33:24 (GMT)
commitfd6e6cfa29b2289e711dc7f57f36897c78899ee7 (patch)
tree8c4e153142c5cd0d123b2f53c0aee00223512ec2 /Lib
parent64634eb32112c84b858ba58729e7c7246affad34 (diff)
parent55e2238272daf0a6b585cf6314abb9fdf768bbde (diff)
downloadcpython-fd6e6cfa29b2289e711dc7f57f36897c78899ee7.zip
cpython-fd6e6cfa29b2289e711dc7f57f36897c78899ee7.tar.gz
cpython-fd6e6cfa29b2289e711dc7f57f36897c78899ee7.tar.bz2
Raise KeyError instead of OverflowError when getpwuid's argument is out of
uid_t range.
Diffstat (limited to 'Lib')
-rw-r--r--Lib/test/test_pwd.py9
1 files changed, 9 insertions, 0 deletions
diff --git a/Lib/test/test_pwd.py b/Lib/test/test_pwd.py
index ae1c8fe..aa8f69f 100644
--- a/Lib/test/test_pwd.py
+++ b/Lib/test/test_pwd.py
@@ -49,7 +49,9 @@ class PwdTest(unittest.TestCase):
def test_errors(self):
self.assertRaises(TypeError, pwd.getpwuid)
+ self.assertRaises(TypeError, pwd.getpwuid, 3.14)
self.assertRaises(TypeError, pwd.getpwnam)
+ self.assertRaises(TypeError, pwd.getpwnam, 42)
self.assertRaises(TypeError, pwd.getpwall, 42)
# try to get some errors
@@ -93,6 +95,13 @@ class PwdTest(unittest.TestCase):
self.assertNotIn(fakeuid, byuids)
self.assertRaises(KeyError, pwd.getpwuid, fakeuid)
+ # -1 shouldn't be a valid uid because it has a special meaning in many
+ # uid-related functions
+ self.assertRaises(KeyError, pwd.getpwuid, -1)
+ # should be out of uid_t range
+ self.assertRaises(KeyError, pwd.getpwuid, 2**128)
+ self.assertRaises(KeyError, pwd.getpwuid, -2**128)
+
def test_main():
support.run_unittest(PwdTest)