summaryrefslogtreecommitdiff
path: root/lib/sqlalchemy/testing/assertions.py
diff options
context:
space:
mode:
authorMike Bayer <mike_mp@zzzcomputing.com>2015-11-19 15:45:17 -0500
committerMike Bayer <mike_mp@zzzcomputing.com>2015-11-19 15:45:17 -0500
commita6fe4dc0c8ebc346a90dd849a86dac9345d74515 (patch)
treee3411c2a3ede5e942d3a5ea65c635dfe7cd2e745 /lib/sqlalchemy/testing/assertions.py
parent1dc805dd4d902b9204703f0bd6151c58f1f287af (diff)
downloadsqlalchemy-a6fe4dc0c8ebc346a90dd849a86dac9345d74515.tar.gz
- A rare case which occurs when a :meth:`.Session.rollback` fails in the
scope of a :meth:`.Session.flush` operation that's raising an exception, as has been observed in some MySQL SAVEPOINT cases, prevents the original database exception from being observed when it was emitted during flush, but only on Py2K because Py2K does not support exception chaining; on Py3K the originating exception is chained. As a workaround, a warning is emitted in this specific case showing at least the string message of the original database error before we proceed to raise the rollback-originating exception. fixes #2696
Diffstat (limited to 'lib/sqlalchemy/testing/assertions.py')
-rw-r--r--lib/sqlalchemy/testing/assertions.py2
1 files changed, 1 insertions, 1 deletions
diff --git a/lib/sqlalchemy/testing/assertions.py b/lib/sqlalchemy/testing/assertions.py
index 21dc3e71a..63667654d 100644
--- a/lib/sqlalchemy/testing/assertions.py
+++ b/lib/sqlalchemy/testing/assertions.py
@@ -121,7 +121,7 @@ def uses_deprecated(*messages):
def _expect_warnings(exc_cls, messages, regex=True, assert_=True):
if regex:
- filters = [re.compile(msg, re.I) for msg in messages]
+ filters = [re.compile(msg, re.I | re.S) for msg in messages]
else:
filters = messages