@@ -1796,36 +1796,46 @@ def test_unicode_name(self):
17961796
17971797@unittest .skipIf (sys .platform == "win32" , "Posix specific tests" )
17981798class PosixUidGidTests (unittest .TestCase ):
1799+ # uid_t and gid_t are 32-bit unsigned integers on Linux
1800+ UID_OVERFLOW = (1 << 32 )
1801+ GID_OVERFLOW = (1 << 32 )
1802+
17991803 @unittest .skipUnless (hasattr (os , 'setuid' ), 'test needs os.setuid()' )
18001804 def test_setuid (self ):
18011805 if os .getuid () != 0 :
18021806 self .assertRaises (OSError , os .setuid , 0 )
1803- self .assertRaises (OverflowError , os .setuid , 1 << 32 )
1807+ self .assertRaises (TypeError , os .setuid , 'not an int' )
1808+ self .assertRaises (OverflowError , os .setuid , self .UID_OVERFLOW )
18041809
18051810 @unittest .skipUnless (hasattr (os , 'setgid' ), 'test needs os.setgid()' )
18061811 def test_setgid (self ):
18071812 if os .getuid () != 0 and not HAVE_WHEEL_GROUP :
18081813 self .assertRaises (OSError , os .setgid , 0 )
1809- self .assertRaises (OverflowError , os .setgid , 1 << 32 )
1814+ self .assertRaises (TypeError , os .setgid , 'not an int' )
1815+ self .assertRaises (OverflowError , os .setgid , self .GID_OVERFLOW )
18101816
18111817 @unittest .skipUnless (hasattr (os , 'seteuid' ), 'test needs os.seteuid()' )
18121818 def test_seteuid (self ):
18131819 if os .getuid () != 0 :
18141820 self .assertRaises (OSError , os .seteuid , 0 )
1815- self .assertRaises (OverflowError , os .seteuid , 1 << 32 )
1821+ self .assertRaises (TypeError , os .setegid , 'not an int' )
1822+ self .assertRaises (OverflowError , os .seteuid , self .UID_OVERFLOW )
18161823
18171824 @unittest .skipUnless (hasattr (os , 'setegid' ), 'test needs os.setegid()' )
18181825 def test_setegid (self ):
18191826 if os .getuid () != 0 and not HAVE_WHEEL_GROUP :
18201827 self .assertRaises (OSError , os .setegid , 0 )
1821- self .assertRaises (OverflowError , os .setegid , 1 << 32 )
1828+ self .assertRaises (TypeError , os .setegid , 'not an int' )
1829+ self .assertRaises (OverflowError , os .setegid , self .GID_OVERFLOW )
18221830
18231831 @unittest .skipUnless (hasattr (os , 'setreuid' ), 'test needs os.setreuid()' )
18241832 def test_setreuid (self ):
18251833 if os .getuid () != 0 :
18261834 self .assertRaises (OSError , os .setreuid , 0 , 0 )
1827- self .assertRaises (OverflowError , os .setreuid , 1 << 32 , 0 )
1828- self .assertRaises (OverflowError , os .setreuid , 0 , 1 << 32 )
1835+ self .assertRaises (TypeError , os .setreuid , 'not an int' , 0 )
1836+ self .assertRaises (TypeError , os .setreuid , 0 , 'not an int' )
1837+ self .assertRaises (OverflowError , os .setreuid , self .UID_OVERFLOW , 0 )
1838+ self .assertRaises (OverflowError , os .setreuid , 0 , self .UID_OVERFLOW )
18291839
18301840 @unittest .skipUnless (hasattr (os , 'setreuid' ), 'test needs os.setreuid()' )
18311841 def test_setreuid_neg1 (self ):
@@ -1839,8 +1849,10 @@ def test_setreuid_neg1(self):
18391849 def test_setregid (self ):
18401850 if os .getuid () != 0 and not HAVE_WHEEL_GROUP :
18411851 self .assertRaises (OSError , os .setregid , 0 , 0 )
1842- self .assertRaises (OverflowError , os .setregid , 1 << 32 , 0 )
1843- self .assertRaises (OverflowError , os .setregid , 0 , 1 << 32 )
1852+ self .assertRaises (TypeError , os .setregid , 'not an int' , 0 )
1853+ self .assertRaises (TypeError , os .setregid , 0 , 'not an int' )
1854+ self .assertRaises (OverflowError , os .setregid , self .GID_OVERFLOW , 0 )
1855+ self .assertRaises (OverflowError , os .setregid , 0 , self .GID_OVERFLOW )
18441856
18451857 @unittest .skipUnless (hasattr (os , 'setregid' ), 'test needs os.setregid()' )
18461858 def test_setregid_neg1 (self ):
0 commit comments