summaryrefslogtreecommitdiffstats
path: root/Lib/test/test_spwd.py
diff options
context:
space:
mode:
authorBerker Peksag <berker.peksag@gmail.com>2016-03-19 09:44:17 (GMT)
committerBerker Peksag <berker.peksag@gmail.com>2016-03-19 09:44:17 (GMT)
commit3c3d7f4b99b1f62567592ef57216e07677f17d7f (patch)
tree8965a590a381f1f7a933edc306f5bd90968f2c91 /Lib/test/test_spwd.py
parentaf4a1f20bafe5bb38215d8b2cb1470bdf8fe4625 (diff)
downloadcpython-3c3d7f4b99b1f62567592ef57216e07677f17d7f.zip
cpython-3c3d7f4b99b1f62567592ef57216e07677f17d7f.tar.gz
cpython-3c3d7f4b99b1f62567592ef57216e07677f17d7f.tar.bz2
Issue #18787: spwd.getspnam() now raises a PermissionError if the user
doesn't have privileges.
Diffstat (limited to 'Lib/test/test_spwd.py')
-rw-r--r--Lib/test/test_spwd.py10
1 files changed, 10 insertions, 0 deletions
diff --git a/Lib/test/test_spwd.py b/Lib/test/test_spwd.py
index bea7ab1..fca809e 100644
--- a/Lib/test/test_spwd.py
+++ b/Lib/test/test_spwd.py
@@ -56,5 +56,15 @@ class TestSpwdRoot(unittest.TestCase):
self.assertRaises(TypeError, spwd.getspnam, bytes_name)
+@unittest.skipUnless(hasattr(os, 'geteuid') and os.geteuid() != 0,
+ 'non-root user required')
+class TestSpwdNonRoot(unittest.TestCase):
+
+ def test_getspnam_exception(self):
+ with self.assertRaises(PermissionError) as cm:
+ spwd.getspnam('bin')
+ self.assertEqual(str(cm.exception), '[Errno 13] Permission denied')
+
+
if __name__ == "__main__":
unittest.main()