Solaris 10's id(1M) does not support the "-G" option, so we get the following: % ./python -m test test_posix [1/1] test_posix id: illegal option -- G Usage: id [-ap] [user] 1 test OK. The code already tests that id -G (std) output, and assumes that id -G is not supported if the output is empty. QUESTION: Does the user compiling the code need to see the stderr output of id? After all the test is correctly skipped. Fix: % diff ./Lib/test/test_posix.py.FCS ./Lib/test/test_posix.py 378c378 < with os.popen('id -G') as idg: --- > with os.popen('id -G 2> /dev/null') as idg: Consideration: Lib/platform.py has introduced DEV_NULL but it does not seem to be used in other code or tests (beside platform.py). Regards, Peter
The correct spelling of that is os.devnull. platform.DEV_NULL exists only for backwards compatibility (not sure platform.py still has standalone releases). It is not documented and only used internally. For a POSIX-only test like this one, hard-coding /dev/null is the simplest thing that works. Thanks for the patch; our Mac experts will get to it. Please generate unified diffs in the future.