Issue #16698: Skip posix test_getgroups when built with OS X
deployment target prior to 10.6.
diff --git a/Lib/test/test_posix.py b/Lib/test/test_posix.py
index 7214efa..2fba330 100644
--- a/Lib/test/test_posix.py
+++ b/Lib/test/test_posix.py
@@ -452,6 +452,13 @@
         if ret != None or not groups:
             raise unittest.SkipTest("need working 'id -G'")
 
+        # Issues 16698: OS X ABIs prior to 10.6 have limits on getgroups()
+        if sys.platform == 'darwin':
+            import sysconfig
+            dt = sysconfig.get_config_var('MACOSX_DEPLOYMENT_TARGET') or '10.0'
+            if float(dt) < 10.6:
+                raise unittest.SkipTest("getgroups(2) is broken prior to 10.6")
+
         # 'id -G' and 'os.getgroups()' should return the same
         # groups, ignoring order and duplicates.
         # #10822 - it is implementation defined whether posix.getgroups()