assert cur.params == [bytes([0, 3])] # 3 as binary int2
-def test_close(conn, recwarn):
- cur = conn.cursor("foo")
- cur.execute("select generate_series(1, 10) as bar")
- cur.close()
- assert cur.closed
-
- assert not conn.execute(
- "select * from pg_cursors where name = 'foo'"
- ).fetchone()
- del cur
- assert not recwarn
-
-
-def test_close_noop(conn, recwarn):
- cur = conn.cursor("foo")
- cur.close()
- assert not recwarn
-
-
-def test_context(conn, recwarn):
- with conn.cursor("foo") as cur:
- cur.execute("select generate_series(1, 10) as bar")
-
- assert cur.closed
- assert not conn.execute(
- "select * from pg_cursors where name = 'foo'"
- ).fetchone()
- del cur
- assert not recwarn
+def test_close(conn, recwarn, retries):
+ for retry in retries:
+ with retry:
+ recwarn.clear()
+ cur = conn.cursor("foo")
+ cur.execute("select generate_series(1, 10) as bar")
+ cur.close()
+ assert cur.closed
+
+ assert not conn.execute(
+ "select * from pg_cursors where name = 'foo'"
+ ).fetchone()
+ del cur
+ assert not recwarn, [str(w.message) for w in recwarn.list]
+
+
+def test_close_noop(conn, recwarn, retries):
+ for retry in retries:
+ with retry:
+ recwarn.clear()
+ cur = conn.cursor("foo")
+ cur.close()
+ assert not recwarn, [str(w.message) for w in recwarn.list]
+
+
+def test_context(conn, recwarn, retries):
+ for retry in retries:
+ with retry:
+ recwarn.clear()
+ with conn.cursor("foo") as cur:
+ cur.execute("select generate_series(1, 10) as bar")
+
+ assert cur.closed
+ assert not conn.execute(
+ "select * from pg_cursors where name = 'foo'"
+ ).fetchone()
+ del cur
+ assert not recwarn, [str(w.message) for w in recwarn.list]
def test_close_no_clobber(conn):
cur.execute("select 1 / %s", (0,))
-def test_warn_close(conn, recwarn):
- cur = conn.cursor("foo")
- cur.execute("select generate_series(1, 10) as bar")
- del cur
- assert ".close()" in str(recwarn.pop(ResourceWarning).message)
+def test_warn_close(conn, recwarn, retries):
+ for retry in retries:
+ with retry:
+ recwarn.clear()
+ cur = conn.cursor("foo")
+ cur.execute("select generate_series(1, 10) as bar")
+ del cur
+ assert ".close()" in str(recwarn.pop(ResourceWarning).message)
def test_execute_reuse(conn):
assert cur.params == [bytes([0, 3])] # 3 as binary int2
-async def test_close(aconn, recwarn):
- cur = aconn.cursor("foo")
- await cur.execute("select generate_series(1, 10) as bar")
- await cur.close()
- assert cur.closed
-
- assert not await (
- await aconn.execute("select * from pg_cursors where name = 'foo'")
- ).fetchone()
- del cur
- assert not recwarn
-
-
-async def test_close_noop(aconn, recwarn):
- cur = aconn.cursor("foo")
- await cur.close()
- assert not recwarn
-
-
-async def test_context(aconn, recwarn):
- async with aconn.cursor("foo") as cur:
- await cur.execute("select generate_series(1, 10) as bar")
-
- assert cur.closed
- assert not await (
- await aconn.execute("select * from pg_cursors where name = 'foo'")
- ).fetchone()
- del cur
- assert not recwarn
+async def test_close(aconn, recwarn, retries):
+ async for retry in retries:
+ with retry:
+ recwarn.clear()
+ cur = aconn.cursor("foo")
+ await cur.execute("select generate_series(1, 10) as bar")
+ await cur.close()
+ assert cur.closed
+
+ assert not await (
+ await aconn.execute(
+ "select * from pg_cursors where name = 'foo'"
+ )
+ ).fetchone()
+ del cur
+ assert not recwarn, [str(w.message) for w in recwarn.list]
+
+
+async def test_close_noop(aconn, recwarn, retries):
+ async for retry in retries:
+ with retry:
+ recwarn.clear()
+ cur = aconn.cursor("foo")
+ await cur.close()
+ assert not recwarn, [str(w.message) for w in recwarn.list]
+
+
+async def test_context(aconn, recwarn, retries):
+ async for retry in retries:
+ with retry:
+ recwarn.clear()
+ async with aconn.cursor("foo") as cur:
+ await cur.execute("select generate_series(1, 10) as bar")
+
+ assert cur.closed
+ assert not await (
+ await aconn.execute(
+ "select * from pg_cursors where name = 'foo'"
+ )
+ ).fetchone()
+ del cur
+ assert not recwarn, [str(w.message) for w in recwarn.list]
async def test_close_no_clobber(aconn):
await cur.execute("select 1 / %s", (0,))
-async def test_warn_close(aconn, recwarn):
- cur = aconn.cursor("foo")
- await cur.execute("select generate_series(1, 10) as bar")
- del cur
- assert ".close()" in str(recwarn.pop(ResourceWarning).message)
+async def test_warn_close(aconn, recwarn, retries):
+ async for retry in retries:
+ with retry:
+ recwarn.clear()
+ cur = aconn.cursor("foo")
+ await cur.execute("select generate_series(1, 10) as bar")
+ del cur
+ assert ".close()" in str(recwarn.pop(ResourceWarning).message)
async def test_execute_reuse(aconn):