]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
bpo-41443: Add more attribute checking in test_posix (GH-21688)
authorpxinwr <peixing.xin@windriver.com>
Tue, 8 Dec 2020 23:18:37 +0000 (07:18 +0800)
committerGitHub <noreply@github.com>
Tue, 8 Dec 2020 23:18:37 +0000 (00:18 +0100)
Lib/test/test_posix.py
Misc/NEWS.d/next/Tests/2020-07-30-18-43-05.bpo-41443.834gyg.rst [new file with mode: 0644]

index d4d348cdc02d095bdf49a9a01191b9549c1fdbcc..185b293b0704690018dc391390a3e0bb0c540dbf 100644 (file)
@@ -1094,7 +1094,8 @@ class PosixTester(unittest.TestCase):
         finally:
             posix.close(f)
 
-    @unittest.skipUnless(os.chown in os.supports_dir_fd, "test needs dir_fd support in os.chown()")
+    @unittest.skipUnless(hasattr(os, 'chown') and (os.chown in os.supports_dir_fd),
+                         "test needs dir_fd support in os.chown()")
     def test_chown_dir_fd(self):
         os_helper.unlink(os_helper.TESTFN)
         os_helper.create_empty_file(os_helper.TESTFN)
@@ -1189,7 +1190,9 @@ class PosixTester(unittest.TestCase):
             posix.close(f)
             os_helper.rmtree(os_helper.TESTFN + 'dir')
 
-    @unittest.skipUnless((os.mknod in os.supports_dir_fd) and hasattr(stat, 'S_IFIFO'),
+    @unittest.skipUnless(hasattr(os, 'mknod')
+                         and (os.mknod in os.supports_dir_fd)
+                         and hasattr(stat, 'S_IFIFO'),
                          "test requires both stat.S_IFIFO and dir_fd support for os.mknod()")
     def test_mknod_dir_fd(self):
         # Test using mknodat() to create a FIFO (the only use specified
@@ -1222,7 +1225,8 @@ class PosixTester(unittest.TestCase):
             posix.close(a)
             posix.close(b)
 
-    @unittest.skipUnless(os.readlink in os.supports_dir_fd, "test needs dir_fd support in os.readlink()")
+    @unittest.skipUnless(hasattr(os, 'readlink') and (os.readlink in os.supports_dir_fd),
+                         "test needs dir_fd support in os.readlink()")
     def test_readlink_dir_fd(self):
         os.symlink(os_helper.TESTFN, os_helper.TESTFN + 'link')
         f = posix.open(posix.getcwd(), posix.O_RDONLY)
diff --git a/Misc/NEWS.d/next/Tests/2020-07-30-18-43-05.bpo-41443.834gyg.rst b/Misc/NEWS.d/next/Tests/2020-07-30-18-43-05.bpo-41443.834gyg.rst
new file mode 100644 (file)
index 0000000..439f3e3
--- /dev/null
@@ -0,0 +1 @@
+Add more attribute checking in test_posix.py