diff --git a/Lib/test/test_stat.py b/Lib/test/test_stat.py index 735b2e61aab..be0c5c520e7 100644 --- a/Lib/test/test_stat.py +++ b/Lib/test/test_stat.py @@ -62,8 +62,11 @@ class TestFilemode(unittest.TestCase): pass tearDown = setUp - def get_mode(self, fname=TESTFN): - st_mode = os.lstat(fname).st_mode + def get_mode(self, fname=TESTFN, lstat=True): + if lstat: + st_mode = os.lstat(fname).st_mode + else: + st_mode = os.stat(fname).st_mode modestr = self.statmod.filemode(st_mode) return st_mode, modestr @@ -153,13 +156,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) + st_mode, modestr = self.get_mode(os.devnull, lstat=False) self.assertEqual(modestr[0], 'c') self.assertS_IS("CHR", st_mode) # Linux block devices, BSD has no block devices anymore for blockdev in ("/dev/sda", "/dev/hda"): 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.assertS_IS("BLK", st_mode) break