summaryrefslogtreecommitdiff
path: root/migrate/tests
diff options
context:
space:
mode:
authorchrisw <unknown>2010-09-09 16:37:27 +0100
committerchrisw <unknown>2010-09-09 16:37:27 +0100
commit960c978da9e81717b87b18608220ef790edbfe4c (patch)
treed3b2b0e224b667b878952e8326fde32cfd7c1a98 /migrate/tests
parent70e52901b24d6fe40c1e1464c033091929e97017 (diff)
downloadsqalchemy-migrate-960c978da9e81717b87b18608220ef790edbfe4c.tar.gz
give better feedback when errors occur in _setup or _teardown
Diffstat (limited to 'migrate/tests')
-rw-r--r--migrate/tests/fixture/database.py22
1 files changed, 19 insertions, 3 deletions
diff --git a/migrate/tests/fixture/database.py b/migrate/tests/fixture/database.py
index 90668ad..2c5d11f 100644
--- a/migrate/tests/fixture/database.py
+++ b/migrate/tests/fixture/database.py
@@ -79,10 +79,26 @@ def usedb(supported=None, not_supported=None):
for url in my_urls:
log.debug("Running test with engine %s", url)
try:
- self._setup(url)
- f(self, *a, **kw)
+ try:
+ self._setup(url)
+ except Exception,e:
+ setup_exception=e
+ else:
+ setup_exception=None
+ f(self, *a, **kw)
finally:
- self._teardown()
+ try:
+ self._teardown()
+ except Exception,e:
+ teardown_exception=e
+ else:
+ teardown_exception=None
+ if setup_exception or teardown_exception:
+ raise RuntimeError((
+ 'Exception during _setup/_teardown:\n'
+ 'setup: %r\n'
+ 'teardown: %r\n'
+ )%(setup_exception,teardown_exception))
return dec