diff options
Diffstat (limited to 'migrate/tests/fixture/database.py')
-rw-r--r-- | migrate/tests/fixture/database.py | 19 |
1 files changed, 12 insertions, 7 deletions
diff --git a/migrate/tests/fixture/database.py b/migrate/tests/fixture/database.py index b9eb0ca..e000d60 100644 --- a/migrate/tests/fixture/database.py +++ b/migrate/tests/fixture/database.py @@ -6,6 +6,7 @@ import logging from decorator import decorator from sqlalchemy import create_engine, Table, MetaData +from sqlalchemy import exc as sa_exc from sqlalchemy.orm import create_session from sqlalchemy.pool import StaticPool @@ -81,13 +82,17 @@ def usedb(supported=None, not_supported=None): try: log.debug("Running test with engine %s", url) try: - try: - self._setup(url) - except Exception,e: - setup_exception=e - else: - setup_exception=None - f(self, *a, **kw) + self._setup(url) + except sa_exc.OperationalError: + log.info('Backend %s is not available, skip it', url) + continue + except Exception as e: + setup_exception = e + else: + setup_exception = None + + try: + f(self, *a, **kw) finally: try: self._teardown() |