From eb7594f85741ef809b1ee337ee3431df20e6f8bb Mon Sep 17 00:00:00 2001 From: pxinwr Date: Wed, 9 Dec 2020 07:18:37 +0800 Subject: bpo-41443: Add more attribute checking in test_posix (GH-21688) --- Lib/test/test_posix.py | 10 +++++++--- .../NEWS.d/next/Tests/2020-07-30-18-43-05.bpo-41443.834gyg.rst | 1 + 2 files changed, 8 insertions(+), 3 deletions(-) create mode 100644 Misc/NEWS.d/next/Tests/2020-07-30-18-43-05.bpo-41443.834gyg.rst diff --git a/Lib/test/test_posix.py b/Lib/test/test_posix.py index d4d348c..185b293 100644 --- a/Lib/test/test_posix.py +++ b/Lib/test/test_posix.py @@ -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 index 0000000..439f3e3 --- /dev/null +++ b/Misc/NEWS.d/next/Tests/2020-07-30-18-43-05.bpo-41443.834gyg.rst @@ -0,0 +1 @@ +Add more attribute checking in test_posix.py -- cgit v0.12