mirror of https://github.com/python/cpython.git
Solaris' /dev/null is a symlink. The device test now uses stat instead of lstat to compensate
for symlinks.
This commit is contained in:
commit
fcce2024ea
|
@ -62,8 +62,11 @@ def setUp(self):
|
||||||
pass
|
pass
|
||||||
tearDown = setUp
|
tearDown = setUp
|
||||||
|
|
||||||
def get_mode(self, fname=TESTFN):
|
def get_mode(self, fname=TESTFN, lstat=True):
|
||||||
|
if lstat:
|
||||||
st_mode = os.lstat(fname).st_mode
|
st_mode = os.lstat(fname).st_mode
|
||||||
|
else:
|
||||||
|
st_mode = os.stat(fname).st_mode
|
||||||
modestr = self.statmod.filemode(st_mode)
|
modestr = self.statmod.filemode(st_mode)
|
||||||
return st_mode, modestr
|
return st_mode, modestr
|
||||||
|
|
||||||
|
@ -153,13 +156,13 @@ def test_fifo(self):
|
||||||
@unittest.skipUnless(os.name == 'posix', 'requires Posix')
|
@unittest.skipUnless(os.name == 'posix', 'requires Posix')
|
||||||
def test_devices(self):
|
def test_devices(self):
|
||||||
if os.path.exists(os.devnull):
|
if os.path.exists(os.devnull):
|
||||||
st_mode, modestr = self.get_mode(os.devnull)
|
st_mode, modestr = self.get_mode(os.devnull, lstat=False)
|
||||||
self.assertEqual(modestr[0], 'c')
|
self.assertEqual(modestr[0], 'c')
|
||||||
self.assertS_IS("CHR", st_mode)
|
self.assertS_IS("CHR", st_mode)
|
||||||
# Linux block devices, BSD has no block devices anymore
|
# Linux block devices, BSD has no block devices anymore
|
||||||
for blockdev in ("/dev/sda", "/dev/hda"):
|
for blockdev in ("/dev/sda", "/dev/hda"):
|
||||||
if os.path.exists(blockdev):
|
if os.path.exists(blockdev):
|
||||||
st_mode, modestr = self.get_mode(blockdev)
|
st_mode, modestr = self.get_mode(blockdev, lstat=False)
|
||||||
self.assertEqual(modestr[0], 'b')
|
self.assertEqual(modestr[0], 'b')
|
||||||
self.assertS_IS("BLK", st_mode)
|
self.assertS_IS("BLK", st_mode)
|
||||||
break
|
break
|
||||||
|
|
Loading…
Reference in New Issue