Skip to content

Commit

Permalink
[3.11] gh-117061: Fix test_posix.test_sched_setaffinity() on RHEL9 (G…
Browse files Browse the repository at this point in the history
…H-117126) (#117138)

gh-117061: Fix test_posix.test_sched_setaffinity() on RHEL9 (GH-117126)

On RHEL9, sched_setaffinity(0, []) does not fail.
(cherry picked from commit 50f9b0b)

Co-authored-by: Victor Stinner <vstinner@python.org>
  • Loading branch information
miss-islington and vstinner committed Mar 21, 2024
1 parent 7323c4d commit 0ec8561
Showing 1 changed file with 10 additions and 1 deletion.
11 changes: 10 additions & 1 deletion Lib/test/test_posix.py
Original file line number Diff line number Diff line change
Expand Up @@ -1327,12 +1327,21 @@ def test_sched_getaffinity(self):
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])
Expand Down

0 comments on commit 0ec8561

Please sign in to comment.