summaryrefslogtreecommitdiff
path: root/migrate/tests/fixture/database.py
diff options
context:
space:
mode:
Diffstat (limited to 'migrate/tests/fixture/database.py')
-rw-r--r--migrate/tests/fixture/database.py17
1 files changed, 10 insertions, 7 deletions
diff --git a/migrate/tests/fixture/database.py b/migrate/tests/fixture/database.py
index 90b25d5..20ca50a 100644
--- a/migrate/tests/fixture/database.py
+++ b/migrate/tests/fixture/database.py
@@ -3,6 +3,9 @@
import os
import logging
+import sys
+
+import six
from decorator import decorator
from sqlalchemy import create_engine, Table, MetaData
@@ -23,7 +26,7 @@ log = logging.getLogger(__name__)
def readurls():
"""read URLs from config file return a list"""
# TODO: remove tmpfile since sqlite can store db in memory
- filename = 'test_db.cfg'
+ filename = 'test_db.cfg' if six.PY2 else "test_db_py3.cfg"
ret = list()
tmpfile = Pathed.tmp()
fullpath = os.path.join(os.curdir, filename)
@@ -46,12 +49,12 @@ def is_supported(url, supported, not_supported):
db = url.split(':', 1)[0]
if supported is not None:
- if isinstance(supported, basestring):
+ if isinstance(supported, six.string_types):
return supported == db
else:
return db in supported
elif not_supported is not None:
- if isinstance(not_supported, basestring):
+ if isinstance(not_supported, six.string_types):
return not_supported != db
else:
return not (db in not_supported)
@@ -96,7 +99,7 @@ def usedb(supported=None, not_supported=None):
finally:
try:
self._teardown()
- except Exception,e:
+ except Exception as e:
teardown_exception=e
else:
teardown_exception=None
@@ -106,14 +109,14 @@ def usedb(supported=None, not_supported=None):
'setup: %r\n'
'teardown: %r\n'
)%(setup_exception,teardown_exception))
- except Exception,e:
+ except Exception:
failed_for.append(url)
- fail = True
+ fail = sys.exc_info()
for url in failed_for:
log.error('Failed for %s', url)
if fail:
# cause the failure :-)
- raise
+ six.reraise(*fail)
return dec