summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Lib/test/test_posix.py11
1 files changed, 10 insertions, 1 deletions
diff --git a/Lib/test/test_posix.py b/Lib/test/test_posix.py
index 887420f..f115aa8 100644
--- a/Lib/test/test_posix.py
+++ b/Lib/test/test_posix.py
@@ -1327,12 +1327,21 @@ class PosixTester(unittest.TestCase):
def test_sched_setaffinity(self):
mask = posix.sched_getaffinity(0)
self.addCleanup(posix.sched_setaffinity, 0, list(mask))
+
if len(mask) > 1:
# Empty masks are forbidden
mask.pop()
posix.sched_setaffinity(0, mask)
self.assertEqual(posix.sched_getaffinity(0), mask)
- self.assertRaises(OSError, posix.sched_setaffinity, 0, [])
+
+ try:
+ posix.sched_setaffinity(0, [])
+ # gh-117061: On RHEL9, sched_setaffinity(0, []) does not fail
+ except OSError:
+ # sched_setaffinity() manual page documents EINVAL error
+ # when the mask is empty.
+ pass
+
self.assertRaises(ValueError, posix.sched_setaffinity, 0, [-10])
self.assertRaises(ValueError, posix.sched_setaffinity, 0, map(int, "0X"))
self.assertRaises(OverflowError, posix.sched_setaffinity, 0, [1<<128])