diff options
author | Martin v. Löwis <martin@v.loewis.de> | 2009-11-27 14:09:49 +0000 |
---|---|---|
committer | Martin v. Löwis <martin@v.loewis.de> | 2009-11-27 14:09:49 +0000 |
commit | 7aed61ae466570fc9fbb8cb26c31e02c1a57e82d (patch) | |
tree | 6eb60ddb67a4866abff4f431ce43b1c2bd3e51b9 /Lib/test/test_posix.py | |
parent | 03f6c11f07f7f7163186c7f8cb9da086ba703162 (diff) | |
download | cpython-git-7aed61ae466570fc9fbb8cb26c31e02c1a57e82d.tar.gz |
Merged revisions 76550 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk
........
r76550 | martin.v.loewis | 2009-11-27 14:56:01 +0100 (Fr, 27 Nov 2009) | 2 lines
Issue #6508: Add posix.{getresuid,getresgid,setresuid,setresgid}.
........
Diffstat (limited to 'Lib/test/test_posix.py')
-rw-r--r-- | Lib/test/test_posix.py | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/Lib/test/test_posix.py b/Lib/test/test_posix.py index 2047e527e4..f3edf33fb6 100644 --- a/Lib/test/test_posix.py +++ b/Lib/test/test_posix.py @@ -40,6 +40,48 @@ class PosixTester(unittest.TestCase): posix_func() self.assertRaises(TypeError, posix_func, 1) + if hasattr(posix, 'getresuid'): + def test_getresuid(self): + user_ids = posix.getresuid() + self.assertEqual(len(user_ids), 3) + for val in user_ids: + self.assertGreaterEqual(val, 0) + + if hasattr(posix, 'getresgid'): + def test_getresgid(self): + group_ids = posix.getresgid() + self.assertEqual(len(group_ids), 3) + for val in group_ids: + self.assertGreaterEqual(val, 0) + + if hasattr(posix, 'setresuid'): + def test_setresuid(self): + current_user_ids = posix.getresuid() + self.assertIsNone(posix.setresuid(*current_user_ids)) + # -1 means don't change that value. + self.assertIsNone(posix.setresuid(-1, -1, -1)) + + def test_setresuid_exception(self): + # Don't do this test if someone is silly enough to run us as root. + current_user_ids = posix.getresuid() + if 0 not in current_user_ids: + new_user_ids = (current_user_ids[0]+1, -1, -1) + self.assertRaises(OSError, posix.setresuid, *new_user_ids) + + if hasattr(posix, 'setresgid'): + def test_setresgid(self): + current_group_ids = posix.getresgid() + self.assertIsNone(posix.setresgid(*current_group_ids)) + # -1 means don't change that value. + self.assertIsNone(posix.setresgid(-1, -1, -1)) + + def test_setresgid_exception(self): + # Don't do this test if someone is silly enough to run us as root. + current_group_ids = posix.getresgid() + if 0 not in current_group_ids: + new_group_ids = (current_group_ids[0]+1, -1, -1) + self.assertRaises(OSError, posix.setresgid, *new_group_ids) + def test_statvfs(self): if hasattr(posix, 'statvfs'): self.assertTrue(posix.statvfs(os.curdir)) |