bpo-41625: Skip os.splice() tests on AIX (GH-23354)
On AIX, splice() only works with a socket, whereas the test uses a
pipe.
diff --git a/Lib/test/test_os.py b/Lib/test/test_os.py
index d6da461..f127cb1 100644
--- a/Lib/test/test_os.py
+++ b/Lib/test/test_os.py
@@ -93,6 +93,11 @@ def create_file(filename, content=b'content'):
fp.write(content)
+# bpo-41625: On AIX, splice() only works with a socket, not with a pipe.
+requires_splice_pipe = unittest.skipIf(sys.platform.startswith("aix"),
+ 'on AIX, splice() only accepts sockets')
+
+
class MiscTests(unittest.TestCase):
def test_getcwd(self):
cwd = os.getcwd()
@@ -387,6 +392,7 @@ def test_splice_invalid_values(self):
os.splice(0, 1, -10)
@unittest.skipUnless(hasattr(os, 'splice'), 'test needs os.splice()')
+ @requires_splice_pipe
def test_splice(self):
TESTFN2 = os_helper.TESTFN + ".3"
data = b'0123456789'
@@ -419,6 +425,7 @@ def test_splice(self):
self.assertEqual(os.read(read_fd, 100), data[:i])
@unittest.skipUnless(hasattr(os, 'splice'), 'test needs os.splice()')
+ @requires_splice_pipe
def test_splice_offset_in(self):
TESTFN4 = os_helper.TESTFN + ".4"
data = b'0123456789'
@@ -456,6 +463,7 @@ def test_splice_offset_in(self):
self.assertEqual(read, data[in_skip:in_skip+i])
@unittest.skipUnless(hasattr(os, 'splice'), 'test needs os.splice()')
+ @requires_splice_pipe
def test_splice_offset_out(self):
TESTFN4 = os_helper.TESTFN + ".4"
data = b'0123456789'