From: Charles-François Natali Date: Wed, 2 May 2012 18:50:13 +0000 (+0200) Subject: os.popen().close() returns None on success, not 0... X-Git-Tag: v3.3.0a4~312 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=360b3c21f5df26569be8b6431c859416d0f8f333;p=python os.popen().close() returns None on success, not 0... --- 360b3c21f5df26569be8b6431c859416d0f8f333 diff --cc Lib/test/test_posix.py index 5ed2a0ffc5,c04c679210..21473fc2eb --- a/Lib/test/test_posix.py +++ b/Lib/test/test_posix.py @@@ -622,22 -421,6 +622,22 @@@ class PosixTester(unittest.TestCase) os.chdir(curdir) support.rmtree(base_path) + @unittest.skipUnless(hasattr(posix, 'getgrouplist'), "test needs posix.getgrouplist()") + @unittest.skipUnless(hasattr(pwd, 'getpwuid'), "test needs pwd.getpwuid()") + @unittest.skipUnless(hasattr(os, 'getuid'), "test needs os.getuid()") + def test_getgrouplist(self): + with os.popen('id -G') as idg: + groups = idg.read().strip() + ret = idg.close() + - if ret != 0 or not groups: ++ if ret != None or not groups: + raise unittest.SkipTest("need working 'id -G'") + + self.assertEqual( + set([int(x) for x in groups.split()]), + set(posix.getgrouplist(pwd.getpwuid(os.getuid())[0], + pwd.getpwuid(os.getuid())[3]))) + @unittest.skipUnless(hasattr(os, 'getegid'), "test needs os.getegid()") def test_getgroups(self): with os.popen('id -G') as idg: