From 64e019f392446b42c942c56d653a0c046e04ad5d Mon Sep 17 00:00:00 2001 From: Mike Bayer Date: Sun, 30 Jun 2013 23:55:32 -0400 Subject: [PATCH] mark the tests that seem to be segfauling py3k+coverage so that we can exclude them at the nose command line --- test/engine/test_pool.py | 7 +++++++ test/requirements.py | 9 +++++++++ 2 files changed, 16 insertions(+) diff --git a/test/engine/test_pool.py b/test/engine/test_pool.py index 4a4fce131e..7d4be30d06 100644 --- a/test/engine/test_pool.py +++ b/test/engine/test_pool.py @@ -788,6 +788,7 @@ class QueuePoolTest(PoolTestBase): except tsa.exc.TimeoutError: assert int(time.time() - now) == 2 + @testing.requires.threading_with_mock def test_timeout_race(self): # test a race condition where the initial connecting threads all race # to queue.Empty, then block on the mutex. each thread consumes a @@ -863,6 +864,7 @@ class QueuePoolTest(PoolTestBase): lazy_gc() assert not pool._refs + @testing.requires.threading_with_mock def test_waiters_handled(self): """test that threads waiting for connections are handled when the pool is replaced. @@ -899,6 +901,7 @@ class QueuePoolTest(PoolTestBase): time.sleep(2) eq_(len(success), 12) + @testing.requires.threading_with_mock @testing.requires.python26 def test_notify_waiters(self): dbapi = MockDBAPI() @@ -966,9 +969,11 @@ class QueuePoolTest(PoolTestBase): c3 = p.connect() assert c3.connection is c2_con + @testing.requires.threading_with_mock def test_no_overflow(self): self._test_overflow(40, 0) + @testing.requires.threading_with_mock def test_max_overflow(self): self._test_overflow(40, 5) @@ -1146,9 +1151,11 @@ class QueuePoolTest(PoolTestBase): class SingletonThreadPoolTest(PoolTestBase): + @testing.requires.threading_with_mock def test_cleanup(self): self._test_cleanup(False) + @testing.requires.threading_with_mock def test_cleanup_no_gc(self): self._test_cleanup(True) diff --git a/test/requirements.py b/test/requirements.py index fd3678eb52..449f690e6b 100644 --- a/test/requirements.py +++ b/test/requirements.py @@ -638,6 +638,15 @@ class DefaultRequirements(SuiteRequirements): "Not supported on MySQL + Windows" ) + def threading_with_mock(self, fn): + """Mark tests that use threading and mock at the same time, so they + can be excluded using "-a '!threading_with_mock'" - stability + issues have been observed with coverage + python 3.3 + + """ + fn.threading_with_mock = True + return fn + @property def english_locale_on_postgresql(self): return skip_if(lambda: against('postgresql') \ -- 2.47.2