@@ -1798,36 +1798,46 @@ def test_unicode_name(self):
1798
1798
1799
1799
@unittest .skipIf (sys .platform == "win32" , "Posix specific tests" )
1800
1800
class 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
+
1801
1805
@unittest .skipUnless (hasattr (os , 'setuid' ), 'test needs os.setuid()' )
1802
1806
def test_setuid (self ):
1803
1807
if os .getuid () != 0 :
1804
1808
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 )
1806
1811
1807
1812
@unittest .skipUnless (hasattr (os , 'setgid' ), 'test needs os.setgid()' )
1808
1813
def test_setgid (self ):
1809
1814
if os .getuid () != 0 and not HAVE_WHEEL_GROUP :
1810
1815
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 )
1812
1818
1813
1819
@unittest .skipUnless (hasattr (os , 'seteuid' ), 'test needs os.seteuid()' )
1814
1820
def test_seteuid (self ):
1815
1821
if os .getuid () != 0 :
1816
1822
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 )
1818
1825
1819
1826
@unittest .skipUnless (hasattr (os , 'setegid' ), 'test needs os.setegid()' )
1820
1827
def test_setegid (self ):
1821
1828
if os .getuid () != 0 and not HAVE_WHEEL_GROUP :
1822
1829
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 )
1824
1832
1825
1833
@unittest .skipUnless (hasattr (os , 'setreuid' ), 'test needs os.setreuid()' )
1826
1834
def test_setreuid (self ):
1827
1835
if os .getuid () != 0 :
1828
1836
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 )
1831
1841
1832
1842
@unittest .skipUnless (hasattr (os , 'setreuid' ), 'test needs os.setreuid()' )
1833
1843
def test_setreuid_neg1 (self ):
@@ -1841,8 +1851,10 @@ def test_setreuid_neg1(self):
1841
1851
def test_setregid (self ):
1842
1852
if os .getuid () != 0 and not HAVE_WHEEL_GROUP :
1843
1853
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 )
1846
1858
1847
1859
@unittest .skipUnless (hasattr (os , 'setregid' ), 'test needs os.setregid()' )
1848
1860
def test_setregid_neg1 (self ):
0 commit comments