]> git.ipfire.org Git - thirdparty/sqlalchemy/sqlalchemy.git/commitdiff
mark the tests that seem to be segfauling py3k+coverage so that we can exclude them
authorMike Bayer <mike_mp@zzzcomputing.com>
Mon, 1 Jul 2013 03:55:32 +0000 (23:55 -0400)
committerMike Bayer <mike_mp@zzzcomputing.com>
Mon, 1 Jul 2013 03:55:32 +0000 (23:55 -0400)
at the nose command line

test/engine/test_pool.py
test/requirements.py

index 981df6dd08edc8a142b966ed766ff9f178a479db..5b64a9f319479484f3501563e69ac06fc3c167a6 100644 (file)
@@ -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)
 
index 06f76c1b3cc37c15dffd8dd30be2293a5aa3310f..e2637087d1c4a62963c3b1e028fb9ef799dabb93 100644 (file)
@@ -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'"""