Solaris' /dev/null is a symlink. The device test now uses stat instead of lstat to compensate
for symlinks.
diff --git a/Lib/test/test_stat.py b/Lib/test/test_stat.py
index ac11a0f..a71f599 100644
--- a/Lib/test/test_stat.py
+++ b/Lib/test/test_stat.py
@@ -58,8 +58,12 @@
pass
tearDown = setUp
- def get_mode(self, fname=TESTFN):
- return 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
+ return st_mode
def assertS_IS(self, name, mode):
# test format, lstrip is for S_IFIFO
@@ -136,12 +140,12 @@
@unittest.skipUnless(os.name == 'posix', 'requires Posix')
def test_devices(self):
if os.path.exists(os.devnull):
- st_mode = self.get_mode(os.devnull)
+ st_mode = self.get_mode(os.devnull, lstat=False)
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 = self.get_mode(blockdev)
+ st_mode = self.get_mode(blockdev, lstat=False)
self.assertS_IS("BLK", st_mode)
break