Issue #10822: Fix test_posix:test_getgroups failure under Solaris.  Patch
by Ross Lagerwall.
diff --git a/Lib/test/test_posix.py b/Lib/test/test_posix.py
index f9f9fce..45b3afc 100644
--- a/Lib/test/test_posix.py
+++ b/Lib/test/test_posix.py
@@ -373,6 +373,7 @@
                 os.chdir(curdir)
                 support.rmtree(base_path)
 
+    @unittest.skipUnless(hasattr(os, 'getegid'), "test needs os.getegid()")
     def test_getgroups(self):
         with os.popen('id -G') as idg:
             groups = idg.read().strip()
@@ -382,9 +383,11 @@
 
         # 'id -G' and 'os.getgroups()' should return the same
         # groups, ignoring order and duplicates.
+        # #10822 - it is implementation defined whether posix.getgroups()
+        # includes the effective gid so we include it anyway, since id -G does
         self.assertEqual(
                 set([int(x) for x in groups.split()]),
-                set(posix.getgroups()))
+                set(posix.getgroups() + [posix.getegid()]))
 
 class PosixGroupsTester(unittest.TestCase):