summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--test/engine/test_pool.py7
-rw-r--r--test/requirements.py9
2 files changed, 16 insertions, 0 deletions
diff --git a/test/engine/test_pool.py b/test/engine/test_pool.py
index 981df6dd0..5b64a9f31 100644
--- a/test/engine/test_pool.py
+++ b/test/engine/test_pool.py
@@ -786,6 +786,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
@@ -861,6 +862,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.
@@ -897,6 +899,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()
@@ -964,9 +967,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)
@@ -1144,9 +1149,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 06f76c1b3..e2637087d 100644
--- a/test/requirements.py
+++ b/test/requirements.py
@@ -648,6 +648,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 selectone(self):
"""target driver must support the literal statement 'select 1'"""