cpython: 6c23ca1982b3 (original) (raw)
Mercurial > cpython
changeset 84276:6c23ca1982b3 3.3
Solaris' /dev/null is a symlink. The device test now uses stat instead of lstat to compensate for symlinks.
Christian Heimes christian@cheimes.de | |
---|---|
date | Sun, 23 Jun 2013 16:10:29 +0200 |
parents | f0d934732ab1 |
children | 6fd45b004d78 56c1227f21f5 f8ede55cf92b |
files | Lib/test/test_stat.py |
diffstat | 1 files changed, 7 insertions(+), 4 deletions(-)[+] [-] Lib/test/test_stat.py 11 |
line wrap: on
line diff
--- a/Lib/test/test_stat.py +++ b/Lib/test/test_stat.py @@ -58,8 +58,11 @@ class TestFilemode(unittest.TestCase): pass tearDown = setUp
- def get_mode(self, fname=TESTFN, lstat=True):
if lstat:[](#l1.10)
st_mode = os.lstat(fname).st_mode[](#l1.11)
else:[](#l1.12)
st_mode = os.stat(fname).st_mode[](#l1.13) modestr = stat.filemode(st_mode)[](#l1.14) return st_mode, modestr[](#l1.15)
@@ -149,13 +152,13 @@ class TestFilemode(unittest.TestCase): @unittest.skipUnless(os.name == 'posix', 'requires Posix') def test_devices(self): if os.path.exists(os.devnull):
st_mode, modestr = self.get_mode(os.devnull)[](#l1.21)
st_mode, modestr = self.get_mode(os.devnull, lstat=False)[](#l1.22) self.assertEqual(modestr[0], 'c')[](#l1.23) self.assertS_IS("CHR", st_mode)[](#l1.24) # Linux block devices, BSD has no block devices anymore[](#l1.25) for blockdev in ("/dev/sda", "/dev/hda"):[](#l1.26) if os.path.exists(blockdev):[](#l1.27)
st_mode, modestr = self.get_mode(blockdev)[](#l1.28)
st_mode, modestr = self.get_mode(blockdev, lstat=False)[](#l1.29) self.assertEqual(modestr[0], 'b')[](#l1.30) self.assertS_IS("BLK", st_mode)[](#l1.31) break[](#l1.32)