https://github.com/python/cpython/commit/355ee1a429e68602696d5a4a9966c1448af1c8d1
commit: 355ee1a429e68602696d5a4a9966c1448af1c8d1
branch: main
author: Gregory P. Smith <[email protected]>
committer: gpshead <[email protected]>
date: 2025-04-27T13:28:23-07:00
summary:
[tests] fix test_fcntl issue when run in a ChromeOS linux runtime (GH-133053)
* [tests] test_fcntl fails when run in a ChromeOS linux runtime container.
It doesn't appear to support F_NOTIFY? Detect the lack of that and skip the
test.
files:
M Lib/test/test_fcntl.py
diff --git a/Lib/test/test_fcntl.py b/Lib/test/test_fcntl.py
index bb784cbe2ce036..b84c98ef3a2972 100644
--- a/Lib/test/test_fcntl.py
+++ b/Lib/test/test_fcntl.py
@@ -1,5 +1,6 @@
"""Test program for the fcntl C module.
"""
+import errno
import multiprocessing
import platform
import os
@@ -135,16 +136,21 @@ def test_fcntl_bad_file_overflow(self):
or platform.system() == "Android",
"this platform returns EINVAL for F_NOTIFY DN_MULTISHOT")
def test_fcntl_64_bit(self):
- # Issue #1309352: fcntl shouldn't fail when the third arg fits in a
+ # Issue GH-42434: fcntl shouldn't fail when the third arg fits in a
# C 'long' but not in a C 'int'.
try:
cmd = fcntl.F_NOTIFY
- # This flag is larger than 2**31 in 64-bit builds
+ # DN_MULTISHOT is >= 2**31 in 64-bit builds
flags = fcntl.DN_MULTISHOT
except AttributeError:
self.skipTest("F_NOTIFY or DN_MULTISHOT unavailable")
fd = os.open(os.path.dirname(os.path.abspath(TESTFN)), os.O_RDONLY)
try:
+ try:
+ fcntl.fcntl(fd, cmd, fcntl.DN_DELETE)
+ except OSError as exc:
+ if exc.errno == errno.EINVAL:
+ self.skipTest("F_NOTIFY not available by this environment")
fcntl.fcntl(fd, cmd, flags)
finally:
os.close(fd)
_______________________________________________
Python-checkins mailing list -- [email protected]
To unsubscribe send an email to [email protected]
https://mail.python.org/mailman3/lists/python-checkins.python.org/
Member address: [email protected]