@@ -1798,36 +1798,46 @@ def test_unicode_name(self):
17981798
17991799@unittest .skipIf (sys .platform == "win32" , "Posix specific tests" )
18001800class PosixUidGidTests (unittest .TestCase ):
1801+ # uid_t and gid_t are 32-bit unsigned integers on Linux
1802+ UID_OVERFLOW = (1 << 32 )
1803+ GID_OVERFLOW = (1 << 32 )
1804+
18011805 @unittest .skipUnless (hasattr (os , 'setuid' ), 'test needs os.setuid()' )
18021806 def test_setuid (self ):
18031807 if os .getuid () != 0 :
18041808 self .assertRaises (OSError , os .setuid , 0 )
1805- self .assertRaises (OverflowError , os .setuid , 1 << 32 )
1809+ self .assertRaises (TypeError , os .setuid , 'not an int' )
1810+ self .assertRaises (OverflowError , os .setuid , self .UID_OVERFLOW )
18061811
18071812 @unittest .skipUnless (hasattr (os , 'setgid' ), 'test needs os.setgid()' )
18081813 def test_setgid (self ):
18091814 if os .getuid () != 0 and not HAVE_WHEEL_GROUP :
18101815 self .assertRaises (OSError , os .setgid , 0 )
1811- self .assertRaises (OverflowError , os .setgid , 1 << 32 )
1816+ self .assertRaises (TypeError , os .setgid , 'not an int' )
1817+ self .assertRaises (OverflowError , os .setgid , self .GID_OVERFLOW )
18121818
18131819 @unittest .skipUnless (hasattr (os , 'seteuid' ), 'test needs os.seteuid()' )
18141820 def test_seteuid (self ):
18151821 if os .getuid () != 0 :
18161822 self .assertRaises (OSError , os .seteuid , 0 )
1817- self .assertRaises (OverflowError , os .seteuid , 1 << 32 )
1823+ self .assertRaises (TypeError , os .setegid , 'not an int' )
1824+ self .assertRaises (OverflowError , os .seteuid , self .UID_OVERFLOW )
18181825
18191826 @unittest .skipUnless (hasattr (os , 'setegid' ), 'test needs os.setegid()' )
18201827 def test_setegid (self ):
18211828 if os .getuid () != 0 and not HAVE_WHEEL_GROUP :
18221829 self .assertRaises (OSError , os .setegid , 0 )
1823- self .assertRaises (OverflowError , os .setegid , 1 << 32 )
1830+ self .assertRaises (TypeError , os .setegid , 'not an int' )
1831+ self .assertRaises (OverflowError , os .setegid , self .GID_OVERFLOW )
18241832
18251833 @unittest .skipUnless (hasattr (os , 'setreuid' ), 'test needs os.setreuid()' )
18261834 def test_setreuid (self ):
18271835 if os .getuid () != 0 :
18281836 self .assertRaises (OSError , os .setreuid , 0 , 0 )
1829- self .assertRaises (OverflowError , os .setreuid , 1 << 32 , 0 )
1830- self .assertRaises (OverflowError , os .setreuid , 0 , 1 << 32 )
1837+ self .assertRaises (TypeError , os .setreuid , 'not an int' , 0 )
1838+ self .assertRaises (TypeError , os .setreuid , 0 , 'not an int' )
1839+ self .assertRaises (OverflowError , os .setreuid , self .UID_OVERFLOW , 0 )
1840+ self .assertRaises (OverflowError , os .setreuid , 0 , self .UID_OVERFLOW )
18311841
18321842 @unittest .skipUnless (hasattr (os , 'setreuid' ), 'test needs os.setreuid()' )
18331843 def test_setreuid_neg1 (self ):
@@ -1841,8 +1851,10 @@ def test_setreuid_neg1(self):
18411851 def test_setregid (self ):
18421852 if os .getuid () != 0 and not HAVE_WHEEL_GROUP :
18431853 self .assertRaises (OSError , os .setregid , 0 , 0 )
1844- self .assertRaises (OverflowError , os .setregid , 1 << 32 , 0 )
1845- self .assertRaises (OverflowError , os .setregid , 0 , 1 << 32 )
1854+ self .assertRaises (TypeError , os .setregid , 'not an int' , 0 )
1855+ self .assertRaises (TypeError , os .setregid , 0 , 'not an int' )
1856+ self .assertRaises (OverflowError , os .setregid , self .GID_OVERFLOW , 0 )
1857+ self .assertRaises (OverflowError , os .setregid , 0 , self .GID_OVERFLOW )
18461858
18471859 @unittest .skipUnless (hasattr (os , 'setregid' ), 'test needs os.setregid()' )
18481860 def test_setregid_neg1 (self ):
0 commit comments