From: Mike Bayer Date: Thu, 2 Jun 2016 22:40:46 +0000 (-0400) Subject: - use a mock here, do away with timing problems for good. need to do this X-Git-Tag: rel_1_1_0b1~27 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=74ca7f627ea8f31a8312f965d5249ce1f701d627;p=thirdparty%2Fsqlalchemy%2Fsqlalchemy.git - use a mock here, do away with timing problems for good. need to do this for the rest of the timing tests Change-Id: I06a815b1500222126a4dbc2a9a5da3ef7847e321 --- diff --git a/test/engine/test_pool.py b/test/engine/test_pool.py index 4547984ab6..4f804f8b23 100644 --- a/test/engine/test_pool.py +++ b/test/engine/test_pool.py @@ -1433,18 +1433,24 @@ class QueuePoolTest(PoolTestBase): self.assert_(p.checkedout() == 0) def test_recycle(self): - p = self._queuepool_fixture(pool_size=1, - max_overflow=0, - recycle=3) - c1 = p.connect() - c_id = id(c1.connection) - c1.close() - c2 = p.connect() - assert id(c2.connection) == c_id - c2.close() - time.sleep(4) - c3 = p.connect() - assert id(c3.connection) != c_id + with patch("sqlalchemy.pool.time.time") as mock: + mock.return_value = 10000 + + p = self._queuepool_fixture( + pool_size=1, + max_overflow=0, + recycle=30) + c1 = p.connect() + c_id = id(c1.connection) + c1.close() + mock.return_value = 10001 + c2 = p.connect() + assert id(c2.connection) == c_id + c2.close() + + mock.return_value = 10035 + c3 = p.connect() + assert id(c3.connection) != c_id @testing.requires.timing_intensive def test_recycle_on_invalidate(self):