]> git.ipfire.org Git - thirdparty/psycopg.git/commitdiff
retry flaky max lifetime test
authorDaniele Varrazzo <daniele.varrazzo@gmail.com>
Sat, 6 Mar 2021 01:21:30 +0000 (02:21 +0100)
committerDaniele Varrazzo <daniele.varrazzo@gmail.com>
Fri, 12 Mar 2021 04:07:25 +0000 (05:07 +0100)
tests/pool/test_pool.py
tests/pool/test_pool_async.py

index 7cfc9435dcdb48590ee2ab40ae770dc6345c083f..b043b86c1784176b4657402d7bf2d4678f76367f 100644 (file)
@@ -645,16 +645,18 @@ def test_jitter():
 
 
 @pytest.mark.slow
-def test_max_lifetime(dsn):
-    with pool.ConnectionPool(dsn, minconn=1, max_lifetime=0.2) as p:
-        sleep(0.1)
-        pids = []
-        for i in range(5):
-            with p.connection() as conn:
-                pids.append(conn.pgconn.backend_pid)
-            sleep(0.2)
+def test_max_lifetime(dsn, retries):
+    for retry in retries:
+        with retry:
+            with pool.ConnectionPool(dsn, minconn=1, max_lifetime=0.2) as p:
+                sleep(0.1)
+                pids = []
+                for i in range(5):
+                    with p.connection() as conn:
+                        pids.append(conn.pgconn.backend_pid)
+                    sleep(0.2)
 
-    assert pids[0] == pids[1] != pids[2] == pids[3] != pids[4], pids
+            assert pids[0] == pids[1] != pids[2] == pids[3] != pids[4], pids
 
 
 def delay_connection(monkeypatch, sec):
index 60c91c126cbd936d53e19902ff403a78218d7473..b0c59db7fcab7a0b6fc71222e2d907025c16c4b9 100644 (file)
@@ -679,16 +679,20 @@ def test_jitter():
 
 
 @pytest.mark.slow
-async def test_max_lifetime(dsn):
-    async with pool.AsyncConnectionPool(dsn, minconn=1, max_lifetime=0.2) as p:
-        await asyncio.sleep(0.1)
-        pids = []
-        for i in range(5):
-            async with p.connection() as conn:
-                pids.append(conn.pgconn.backend_pid)
-            await asyncio.sleep(0.2)
+async def test_max_lifetime(dsn, retries):
+    async for retry in retries:
+        with retry:
+            async with pool.AsyncConnectionPool(
+                dsn, minconn=1, max_lifetime=0.2
+            ) as p:
+                await asyncio.sleep(0.1)
+                pids = []
+                for i in range(5):
+                    async with p.connection() as conn:
+                        pids.append(conn.pgconn.backend_pid)
+                    await asyncio.sleep(0.2)
 
-    assert pids[0] == pids[1] != pids[2] == pids[3] != pids[4], pids
+            assert pids[0] == pids[1] != pids[2] == pids[3] != pids[4], pids
 
 
 def delay_connection(monkeypatch, sec):