Ross Lagerwall  committed 05a3795 Merge

Merge with 3.3 for #16661

  • Participants
  • Parent commits 5435a92, ce85fe9

Comments (0)

Files changed (2)

File Lib/test/

     @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 =
-            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):
 - Issue #16559: Add more tests for the json module, including some from the
   official test suite at  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.