mirror of https://github.com/python/cpython
gh-117061: Fix test_posix.test_sched_setaffinity() on RHEL9 (#117126)
On RHEL9, sched_setaffinity(0, []) does not fail.
This commit is contained in:
parent
0907871d43
commit
50f9b0b1e0
|
@ -1335,12 +1335,21 @@ class PosixTester(unittest.TestCase):
|
||||||
def test_sched_setaffinity(self):
|
def test_sched_setaffinity(self):
|
||||||
mask = posix.sched_getaffinity(0)
|
mask = posix.sched_getaffinity(0)
|
||||||
self.addCleanup(posix.sched_setaffinity, 0, list(mask))
|
self.addCleanup(posix.sched_setaffinity, 0, list(mask))
|
||||||
|
|
||||||
if len(mask) > 1:
|
if len(mask) > 1:
|
||||||
# Empty masks are forbidden
|
# Empty masks are forbidden
|
||||||
mask.pop()
|
mask.pop()
|
||||||
posix.sched_setaffinity(0, mask)
|
posix.sched_setaffinity(0, mask)
|
||||||
self.assertEqual(posix.sched_getaffinity(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, [-10])
|
||||||
self.assertRaises(ValueError, posix.sched_setaffinity, 0, map(int, "0X"))
|
self.assertRaises(ValueError, posix.sched_setaffinity, 0, map(int, "0X"))
|
||||||
self.assertRaises(OverflowError, posix.sched_setaffinity, 0, [1<<128])
|
self.assertRaises(OverflowError, posix.sched_setaffinity, 0, [1<<128])
|
||||||
|
|
Loading…
Reference in New Issue