]> git.ipfire.org Git - thirdparty/sqlalchemy/sqlalchemy.git/commitdiff
Don't use "is" to compare exceptions
authorMike Bayer <mike_mp@zzzcomputing.com>
Mon, 15 Oct 2018 05:44:13 +0000 (01:44 -0400)
committerMike Bayer <mike_mp@zzzcomputing.com>
Mon, 15 Oct 2018 05:44:13 +0000 (01:44 -0400)
psycopg2 is introducing a fine grained exception model where
most exceptions will be specialized subclasses, so don't use
"is" to compare an expression type

Change-Id: I2eac7503e38136f0dcc0da6f77b0b1d83ea1c6dc

test/orm/test_transaction.py

index c7e81705e75ac3bb6aa61037e12c9f6773c2d89e..309fca3e5d8da873d8da2b43ff319d60ca6edfc0 100644 (file)
@@ -5,7 +5,7 @@ from sqlalchemy.sql import elements
 from sqlalchemy.orm.util import identity_key
 from sqlalchemy.testing import (
     fixtures, engines, eq_, assert_raises, assert_raises_message,
-    assert_warnings, mock, expect_warnings, is_, is_not_)
+    assert_warnings, mock, expect_warnings, is_, is_not_, is_true)
 from sqlalchemy.orm import (
     exc as orm_exc, Session, mapper, sessionmaker, create_session,
     relationship, attributes, session as _session)
@@ -582,9 +582,11 @@ class SessionTransactionTest(fixtures.RemovesEvents, FixtureTest):
         except sa_exc.DBAPIError as dbe_outer:
             caught_exceptions.append(dbe_outer.orig)
 
-        is_(
-            type(evented_exceptions[0]),
-            testing.db.dialect.dbapi.IntegrityError
+        is_true(
+            isinstance(
+                evented_exceptions[0],
+                testing.db.dialect.dbapi.IntegrityError
+            )
         )
         eq_(evented_exceptions[1], rollback_error)
         eq_(len(evented_exceptions), 2)