try:
self.rollback()
except Exception as exc2:
- warnings.warn(
- f"error rolling back the transaction on {self}: {exc2}",
- RuntimeWarning,
+ logger.warning(
+ "error ignored rolling back transaction on %s: %s",
+ self,
+ exc2,
)
else:
self.commit()
import asyncio
import logging
-import warnings
from types import TracebackType
from typing import Any, AsyncIterator, Dict, Optional, Type, Union
from typing import cast, overload, TYPE_CHECKING
try:
await self.rollback()
except Exception as exc2:
- warnings.warn(
- f"error rolling back the transaction on {self}: {exc2}",
- RuntimeWarning,
+ logger.warning(
+ "error ignored rolling back transaction on %s: %s",
+ self,
+ exc2,
)
else:
await self.commit()
conn.close()
-def test_context_rollback_no_clobber(conn, dsn, recwarn):
+def test_context_rollback_no_clobber(conn, dsn, caplog):
+ caplog.set_level(logging.WARNING, logger="psycopg")
+
with pytest.raises(ZeroDivisionError):
with psycopg.connect(dsn) as conn2:
conn2.execute("select 1")
)
1 / 0
- assert "rolling back" in str(recwarn.pop(RuntimeWarning).message)
+ assert len(caplog.records) == 1
+ rec = caplog.records[0]
+ assert rec.levelno == logging.WARNING
+ assert "rolling back" in rec.message
def test_weakref(dsn):
await aconn.close()
-async def test_context_rollback_no_clobber(conn, dsn, recwarn):
+async def test_context_rollback_no_clobber(conn, dsn, caplog):
with pytest.raises(ZeroDivisionError):
async with await psycopg.AsyncConnection.connect(dsn) as conn2:
await conn2.execute("select 1")
)
1 / 0
- assert "rolling back" in str(recwarn.pop(RuntimeWarning).message)
+ assert len(caplog.records) == 1
+ rec = caplog.records[0]
+ assert rec.levelno == logging.WARNING
+ assert "rolling back" in rec.message
async def test_weakref(dsn):