summaryrefslogtreecommitdiffstats
path: root/Lib/test/test_signal.py
diff options
context:
space:
mode:
authorR. David Murray <rdmurray@bitdance.com>2010-04-17 05:26:26 (GMT)
committerR. David Murray <rdmurray@bitdance.com>2010-04-17 05:26:26 (GMT)
commite0e8a87d7e58d1205cc727cc513cc21b045bb088 (patch)
tree39eb8d877191f5d2922e2f64d9b634a1cecb76c9 /Lib/test/test_signal.py
parentae530c2babdf6c73946b386f8ca1369b7d011b7e (diff)
downloadcpython-e0e8a87d7e58d1205cc727cc513cc21b045bb088.zip
cpython-e0e8a87d7e58d1205cc727cc513cc21b045bb088.tar.gz
cpython-e0e8a87d7e58d1205cc727cc513cc21b045bb088.tar.bz2
Issue #3864: Skip three test_signal tests on freebsd6 due to platform bug.
Two itimer tests and an interprocess signal test fail on FreeBSD 6 if any test that starts a thread runs before test_signal. Since FreeBSD7 does not show this behavior, the bug is most likely a platform bug, so this patch just skips the failing tests on freebsd6.
Diffstat (limited to 'Lib/test/test_signal.py')
-rw-r--r--Lib/test/test_signal.py10
1 files changed, 10 insertions, 0 deletions
diff --git a/Lib/test/test_signal.py b/Lib/test/test_signal.py
index 466b9b6..23b0553 100644
--- a/Lib/test/test_signal.py
+++ b/Lib/test/test_signal.py
@@ -139,6 +139,10 @@ class InterProcessSignalTests(unittest.TestCase):
self.fail("pause returned of its own accord, and the signal"
" didn't arrive after another second.")
+ # Unknown if this affects earlier versions of freebsd also
+ @unittest.skipIf(sys.platform=='freebsd6',
+ 'inter process signals not reliable (do not mix well with threading) '
+ 'on freebsd6')
def test_main(self):
# This function spawns a child process to insulate the main
# test-running process from all the signals. It then
@@ -355,6 +359,9 @@ class ItimerTest(unittest.TestCase):
self.assertEqual(self.hndl_called, True)
+ # Unknown if this affects earlier versions of freebsd also
+ @unittest.skipIf(sys.platform=='freebsd6',
+ 'itimer not reliable (does not mix well with threading) on freebsd6')
def test_itimer_virtual(self):
self.itimer = signal.ITIMER_VIRTUAL
signal.signal(signal.SIGVTALRM, self.sig_vtalrm)
@@ -376,6 +383,9 @@ class ItimerTest(unittest.TestCase):
# and the handler should have been called
self.assertEquals(self.hndl_called, True)
+ # Unknown if this affects earlier versions of freebsd also
+ @unittest.skipIf(sys.platform=='freebsd6',
+ 'itimer not reliable (does not mix well with threading) on freebsd6')
def test_itimer_prof(self):
self.itimer = signal.ITIMER_PROF
signal.signal(signal.SIGPROF, self.sig_prof)