From: Ross Lagerwall Date: Thu, 13 Dec 2012 15:20:26 +0000 (+0000) Subject: Issue #16661: Fix the os.getgrouplist() test by not assuming that it X-Git-Tag: v3.3.1rc1~533 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=a0b315f5f77ce2e68df4ca8d6174a266592b2c49;p=python Issue #16661: Fix the os.getgrouplist() test by not assuming that it gives the same output as "id -G". --- diff --git a/Lib/test/test_posix.py b/Lib/test/test_posix.py index f59607b4f5..4ad735055d 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 58675e86bf..604e6fa8ce 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.