diff --git a/migrate/tests/versioning/test_util.py b/migrate/tests/versioning/test_util.py index 28015d0..6b22b7a 100644 --- a/migrate/tests/versioning/test_util.py +++ b/migrate/tests/versioning/test_util.py @@ -9,6 +9,7 @@ from migrate.exceptions import MigrateDeprecationWarning from migrate.tests import fixture from migrate.tests.fixture.warnings import catch_warnings from migrate.versioning.util import * +from migrate.versioning import api import warnings @@ -63,6 +64,15 @@ class TestUtil(fixture.Pathed): # unsupported argument self.assertRaises(ValueError, construct_engine, 1) + def test_passing_engine(self): + repo = self.tmp_repos() + api.create(repo, 'temp') + api.script('First Version', repo) + engine = construct_engine('sqlite:///:memory:') + + api.version_control(engine, repo) + api.upgrade(engine, repo) + def test_asbool(self): """test asbool parsing""" result = asbool(True) diff --git a/migrate/versioning/util/__init__.py b/migrate/versioning/util/__init__.py index 9b79f40..0928644 100644 --- a/migrate/versioning/util/__init__.py +++ b/migrate/versioning/util/__init__.py @@ -158,7 +158,7 @@ def with_engine(f, *a, **kw): kw['engine'] = engine return f(*a, **kw) finally: - if isinstance(engine, Engine): + if isinstance(engine, Engine) and engine is not url: log.debug('Disposing SQLAlchemy engine %s', engine) engine.dispose()