From 7b911cb62193a82b084926aec3b0bcaaaf1af865 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Charles-Fran=C3=A7ois=20Natali?= Date: Sun, 21 Aug 2011 12:41:43 +0200 Subject: [PATCH] Issue #12783: Fix test_posix failures on FreeBSD buildbots, due to sched_setparam() returning EINVAL for processes with SCHED_OTHER scheduling policy. --- Lib/test/test_posix.py | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/Lib/test/test_posix.py b/Lib/test/test_posix.py index 6a3c33f3a1b..a098fc088b1 100644 --- a/Lib/test/test_posix.py +++ b/Lib/test/test_posix.py @@ -875,8 +875,14 @@ def test_get_and_set_scheduler_and_param(self): except OSError as e: if e.errno != errno.EPERM: raise - posix.sched_setparam(0, param) - self.assertRaises(OSError, posix.sched_setparam, -1, param) + + # POSIX states that calling sched_setparam() on a process with a + # scheduling policy other than SCHED_FIFO or SCHED_RR is + # implementation-defined: FreeBSD returns EINVAL. + if not sys.platform.startswith('freebsd'): + posix.sched_setparam(0, param) + self.assertRaises(OSError, posix.sched_setparam, -1, param) + self.assertRaises(OSError, posix.sched_setscheduler, -1, mine, param) self.assertRaises(TypeError, posix.sched_setscheduler, 0, mine, None) self.assertRaises(TypeError, posix.sched_setparam, 0, 43)