From a0b315f5f77ce2e68df4ca8d6174a266592b2c49 Mon Sep 17 00:00:00 2001 From: Ross Lagerwall Date: Thu, 13 Dec 2012 15:20:26 +0000 Subject: Issue #16661: Fix the os.getgrouplist() test by not assuming that it gives the same output as "id -G". --- Lib/test/test_posix.py | 13 +++---------- Misc/NEWS | 3 +++ 2 files changed, 6 insertions(+), 10 deletions(-) diff --git a/Lib/test/test_posix.py b/Lib/test/test_posix.py index f59607b..4ad7350 100644 --- a/Lib/test/test_posix.py +++ b/Lib/test/test_posix.py @@ -647,17 +647,10 @@ class PosixTester(unittest.TestCase): @unittest.skipUnless(hasattr(pwd, 'getpwuid'), "test needs pwd.getpwuid()") @unittest.skipUnless(hasattr(os, 'getuid'), "test needs os.getuid()") def test_getgrouplist(self): - with os.popen('id -G') as idg: - groups = idg.read().strip() - ret = idg.close() + user = pwd.getpwuid(os.getuid())[0] + group = pwd.getpwuid(os.getuid())[3] + self.assertIn(group, posix.getgrouplist(user, group)) - if ret is not None or not groups: - raise unittest.SkipTest("need working 'id -G'") - - self.assertEqual( - set([int(x) for x in groups.split()]), - set(posix.getgrouplist(pwd.getpwuid(os.getuid())[0], - pwd.getpwuid(os.getuid())[3]))) @unittest.skipUnless(hasattr(os, 'getegid'), "test needs os.getegid()") def test_getgroups(self): diff --git a/Misc/NEWS b/Misc/NEWS index 58675e8..604e6fa 100644 --- a/Misc/NEWS +++ b/Misc/NEWS @@ -301,6 +301,9 @@ Tests - Issue #16559: Add more tests for the json module, including some from the official test suite at json.org. Patch by Serhiy Storchaka. +- Issue #16661: Fix the `os.getgrouplist()` test by not assuming that it gives + the same output as :command:`id -G`. + - Issue #16115: Add some tests for the executable argument to subprocess.Popen(). Initial patch by Kushal Das. -- cgit v0.12