New submission from Jim DeLaHunt: When I run test.test_posix.PosixTester.test_getgroups on my Mac OS X system, it fails:
% ./python.exe -m unittest -v test.test_posix.PosixTester.test_getgroups test_getgroups (test.test_posix.PosixTester) ... FAIL ====================================================================== FAIL: test_getgroups (test.test_posix.PosixTester) ---------------------------------------------------------------------- Traceback (most recent call last): File "/Users/jdlh/workspace/cpython/Lib/test/test_posix.py", line 824, in test_getgroups self.assertTrue(not symdiff or symdiff == {posix.getegid()}) AssertionError: False is not true ---------------------------------------------------------------------- Ran 1 test in 0.013s FAILED (failures=1) Details of my system: % sw_vers ProductName: Mac OS X ProductVersion: 10.10.5 BuildVersion: 14F2109 % id -G 20 507 12 61 80 98 399 33 100 204 395 398 701 % id -G -n staff xampp everyone localaccounts admin _lpadmin com.apple.access_ssh _appstore _lpoperator _developer com.apple.access_ftp com.apple.access_screensharing com.apple.sharepoint.group.1 # I wrapped these lines similarly, to make the correspondence clearer % ./python.exe -c 'import grp,os; g={i: (n, p, i, mem) for (n, p, i, mem) in grp.getgrall()}; print(sorted([(i, g[i][0]) for i in os.getgroups()]) )' [(12, 'everyone'), (20, 'staff'), (33, '_appstore'), (61, 'localaccounts'), (80, 'admin'), (98, '_lpadmin'), (100, '_lpoperator'), (204, '_developer'), (395, 'com.apple.access_ftp'), (399, 'com.apple.access_ssh'), (507, 'xampp')] So the difference, which triggers the test failure, is that id -G is returning groups (701, 'com.apple.sharepoint.group.1'), and (398, 'com.apple.access_screensharing'), while posix.getgroups() is not. I do not yet understand why. Others say this test works on their OS X 10.10 system, so maybe it's triggered by something in my environment. Also: python3.6 from MacPorts, and python2.7 from MacPorts, return the same set of groupids as does the dev build of python3.7. This bug affects the same test, and the same posix.getgroups() call, as http://bugs.python.org/issue17557 "test_getgroups of test_posix can fail on OS X 10.8 if more than 16 groups" (2013-2014, closed). But I think it is a different problem: issue17557 is related to how posix.getgroups() deals with large numbers of groups, and it is fixed. I would appreciate help in getting this test to pass. Maybe my environment is wrong, in which case I should fix my environment. But maybe the cpython code is sensitive to some detail of my environment, in which case perhaps I should fix the cpython code. ---------- components: Tests messages: 287806 nosy: JDLH priority: normal severity: normal status: open title: test_getgroups of test_posix fails (on OS X 10.10) type: behavior versions: Python 3.7 _______________________________________ Python tracker <rep...@bugs.python.org> <http://bugs.python.org/issue29562> _______________________________________ _______________________________________________ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com