The output of `id -G` is unreliable on OS X. It uses an undocumented
Libsystem function called getgrouplist_2() that includes some auxiliary
groups that the POSIX getgroups() function does not return.
Or rather, not always. It leads to fun bug chases where the test fails
in one terminal but not in another.
var assert = require('assert');
var exec = require('child_process').exec;
+if (process.platform === 'darwin') {
+ console.log('Skipping. Output of `id -G` is unreliable on Darwin.');
+ return;
+}
+
if (typeof process.getgroups === 'function') {
var groups = process.getgroups();
assert(Array.isArray(groups));