summaryrefslogtreecommitdiffstats
path: root/Lib/test/test_fcntl.py
diff options
context:
space:
mode:
authorRussell Keith-Magee <russell@keith-magee.com>2024-02-05 00:04:57 (GMT)
committerGitHub <noreply@github.com>2024-02-05 00:04:57 (GMT)
commit391659b3da570bfa28fed5fbdb6f2d9c26ab3dd0 (patch)
tree19d4bd5693a55e06e3ab4a88826e284a1e9717ae /Lib/test/test_fcntl.py
parent15f6f048a6ecdf0f6f4fc076d013be3d110f8ed6 (diff)
downloadcpython-391659b3da570bfa28fed5fbdb6f2d9c26ab3dd0.zip
cpython-391659b3da570bfa28fed5fbdb6f2d9c26ab3dd0.tar.gz
cpython-391659b3da570bfa28fed5fbdb6f2d9c26ab3dd0.tar.bz2
gh-114099: Add test exclusions to support running the test suite on iOS (#114889)
Add test annotations required to run the test suite on iOS (PEP 730). The majority of the change involve annotating tests that use subprocess, but are skipped on Emscripten/WASI for other reasons, and including iOS/tvOS/watchOS under the same umbrella as macOS/darwin checks. `is_apple` and `is_apple_mobile` test helpers have been added to identify *any* Apple platform, and "any Apple platform except macOS", respectively.
Diffstat (limited to 'Lib/test/test_fcntl.py')
-rw-r--r--Lib/test/test_fcntl.py12
1 files changed, 9 insertions, 3 deletions
diff --git a/Lib/test/test_fcntl.py b/Lib/test/test_fcntl.py
index 203dd6f..6d734d0 100644
--- a/Lib/test/test_fcntl.py
+++ b/Lib/test/test_fcntl.py
@@ -6,7 +6,9 @@ import os
import struct
import sys
import unittest
-from test.support import verbose, cpython_only, get_pagesize
+from test.support import (
+ cpython_only, get_pagesize, is_apple, requires_subprocess, verbose
+)
from test.support.import_helper import import_module
from test.support.os_helper import TESTFN, unlink
@@ -56,8 +58,10 @@ class TestFcntl(unittest.TestCase):
else:
start_len = "qq"
- if (sys.platform.startswith(('netbsd', 'freebsd', 'openbsd'))
- or sys.platform == 'darwin'):
+ if (
+ sys.platform.startswith(('netbsd', 'freebsd', 'openbsd'))
+ or is_apple
+ ):
if struct.calcsize('l') == 8:
off_t = 'l'
pid_t = 'i'
@@ -157,6 +161,7 @@ class TestFcntl(unittest.TestCase):
self.assertRaises(TypeError, fcntl.flock, 'spam', fcntl.LOCK_SH)
@unittest.skipIf(platform.system() == "AIX", "AIX returns PermissionError")
+ @requires_subprocess()
def test_lockf_exclusive(self):
self.f = open(TESTFN, 'wb+')
cmd = fcntl.LOCK_EX | fcntl.LOCK_NB
@@ -169,6 +174,7 @@ class TestFcntl(unittest.TestCase):
self.assertEqual(p.exitcode, 0)
@unittest.skipIf(platform.system() == "AIX", "AIX returns PermissionError")
+ @requires_subprocess()
def test_lockf_share(self):
self.f = open(TESTFN, 'wb+')
cmd = fcntl.LOCK_SH | fcntl.LOCK_NB