From: Michael Trier Date: Tue, 31 Mar 2009 16:20:28 +0000 (+0000) Subject: Fixed up the tests for the new style exception instance_cls. X-Git-Tag: rel_0_6_6~250 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=089014928c8a4433cdd294d6160cc3c8bdf2163d;p=thirdparty%2Fsqlalchemy%2Fsqlalchemy.git Fixed up the tests for the new style exception instance_cls. --- diff --git a/lib/sqlalchemy/dialects/mssql/base.py b/lib/sqlalchemy/dialects/mssql/base.py index 98bc716ab6..b03bc4f90a 100644 --- a/lib/sqlalchemy/dialects/mssql/base.py +++ b/lib/sqlalchemy/dialects/mssql/base.py @@ -1214,7 +1214,7 @@ class MSDialect(default.DefaultDialect): @reflection.cache def get_columns(self, connection, tablename, schema=None, **kw): # Get base columns - current_schema = schemaname or self.get_default_schema_name(connection) + current_schema = schema or self.get_default_schema_name(connection) columns = ischema.columns s = sql.select([columns], current_schema diff --git a/lib/sqlalchemy/exc.py b/lib/sqlalchemy/exc.py index 6cc43d7f26..1beb3cdeeb 100644 --- a/lib/sqlalchemy/exc.py +++ b/lib/sqlalchemy/exc.py @@ -108,7 +108,7 @@ class DBAPIError(SQLAlchemyError): # Don't ever wrap these, just return them directly as if # DBAPIError didn't exist. if isinstance(orig, (KeyboardInterrupt, SystemExit)): - return orig + return type(orig) if orig is not None: name, glob = orig.__class__.__name__, globals() diff --git a/test/base/except.py b/test/base/except.py index eddd9221e2..928ec690a9 100644 --- a/test/base/except.py +++ b/test/base/except.py @@ -25,23 +25,23 @@ class OutOfSpec(DatabaseError): class WrapTest(unittest.TestCase): def test_db_error_normal(self): try: - raise sa_exceptions.DBAPIError.instance( - '', [], OperationalError()) + raise sa_exceptions.DBAPIError.instance_cls(OperationalError()), \ + ('', [], OperationalError()) except sa_exceptions.DBAPIError: self.assert_(True) def test_db_error_busted_dbapi(self): try: - raise sa_exceptions.DBAPIError.instance( - '', [], ProgrammingError()) + raise sa_exceptions.DBAPIError.instance_cls(ProgrammingError()), \ + ('', [], ProgrammingError()) except sa_exceptions.DBAPIError, e: self.assert_(True) self.assert_('Error in str() of DB-API' in e.args[0]) def test_db_error_noncompliant_dbapi(self): try: - raise sa_exceptions.DBAPIError.instance( - '', [], OutOfSpec()) + raise sa_exceptions.DBAPIError.instance_cls(OutOfSpec()), \ + ('', [], OutOfSpec()) except sa_exceptions.DBAPIError, e: self.assert_(e.__class__ is sa_exceptions.DBAPIError) except OutOfSpec: @@ -50,8 +50,8 @@ class WrapTest(unittest.TestCase): # Make sure the DatabaseError recognition logic is limited to # subclasses of sqlalchemy.exceptions.DBAPIError try: - raise sa_exceptions.DBAPIError.instance( - '', [], sa_exceptions.ArgumentError()) + raise sa_exceptions.DBAPIError.instance_cls(sa_exceptions.ArgumentError()), \ + ('', [], sa_exceptions.ArgumentError()) except sa_exceptions.DBAPIError, e: self.assert_(e.__class__ is sa_exceptions.DBAPIError) except sa_exceptions.ArgumentError: @@ -59,8 +59,8 @@ class WrapTest(unittest.TestCase): def test_db_error_keyboard_interrupt(self): try: - raise sa_exceptions.DBAPIError.instance( - '', [], KeyboardInterrupt()) + raise sa_exceptions.DBAPIError.instance_cls(KeyboardInterrupt()), \ + ('', [], KeyboardInterrupt()) except sa_exceptions.DBAPIError: self.assert_(False) except KeyboardInterrupt: @@ -68,8 +68,8 @@ class WrapTest(unittest.TestCase): def test_db_error_system_exit(self): try: - raise sa_exceptions.DBAPIError.instance( - '', [], SystemExit()) + raise sa_exceptions.DBAPIError.instance_cls(SystemExit()), \ + ('', [], SystemExit()) except sa_exceptions.DBAPIError: self.assert_(False) except SystemExit: