]> granicus.if.org Git - python/commitdiff
Issue #12783: Fix test_posix failures on FreeBSD buildbots, due to
authorCharles-François Natali <neologix@free.fr>
Sun, 21 Aug 2011 10:41:43 +0000 (12:41 +0200)
committerCharles-François Natali <neologix@free.fr>
Sun, 21 Aug 2011 10:41:43 +0000 (12:41 +0200)
sched_setparam() returning EINVAL for processes with SCHED_OTHER scheduling
policy.

Lib/test/test_posix.py

index 6a3c33f3a1bde79d4289b8c7d73a8ed5b8a53b3c..a098fc088b1a0f6ecb0ea285b18a84c6571faf3f 100644 (file)
@@ -875,8 +875,14 @@ class PosixTester(unittest.TestCase):
         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)