From: Christian Heimes Date: Sun, 23 Jun 2013 14:27:01 +0000 (+0200) Subject: Solaris' /dev/null is a symlink. The device test now uses stat instead of lstat to... X-Git-Tag: v2.7.6rc1~341 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=262df4d3e8b870534270d3dc8c421dbc7ce3113a;p=thirdparty%2FPython%2Fcpython.git 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 ac11a0f5cc36..a71f599b8d6b 100644 --- a/Lib/test/test_stat.py +++ b/Lib/test/test_stat.py @@ -58,8 +58,12 @@ class TestFilemode(unittest.TestCase): 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 @@ class TestFilemode(unittest.TestCase): @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