]> git.ipfire.org Git - thirdparty/psycopg.git/commitdiff
Fix tests retry if the failure leaves the connection in bad state
authorDaniele Varrazzo <daniele.varrazzo@gmail.com>
Tue, 31 Aug 2021 14:42:07 +0000 (16:42 +0200)
committerDaniele Varrazzo <daniele.varrazzo@gmail.com>
Tue, 31 Aug 2021 14:48:07 +0000 (16:48 +0200)
tests/test_server_cursor.py
tests/test_server_cursor_async.py

index 67773c27036d83b61556a19e91966ff681508b64..132fa1a93e1cd106584c3a731bb8d444f1447d9e 100644 (file)
@@ -96,6 +96,9 @@ def test_binary_cursor_text_override(conn):
 def test_close(conn, recwarn, retries):
     for retry in retries:
         with retry:
+            if conn.info.transaction_status == conn.TransactionStatus.INTRANS:
+                # connection dirty from previous failure
+                conn.execute("close foo")
             recwarn.clear()
             cur = conn.cursor("foo")
             cur.execute("select generate_series(1, 10) as bar")
index 5814ed7f4b68035ca621d834dd2f2e20e6116b8a..d240ac39d3ccfa76fe2df220de99bbde184f556f 100644 (file)
@@ -98,6 +98,12 @@ async def test_binary_cursor_text_override(aconn):
 async def test_close(aconn, recwarn, retries):
     async for retry in retries:
         with retry:
+            if (
+                aconn.info.transaction_status
+                == aconn.TransactionStatus.INTRANS
+            ):
+                # connection dirty from previous failure
+                await aconn.execute("close foo")
             recwarn.clear()
             cur = aconn.cursor("foo")
             await cur.execute("select generate_series(1, 10) as bar")