f.write(txt)
-def _sqlite_file_db(tempname="foo.db", future=False):
+def _sqlite_file_db(tempname="foo.db", future=False, scope=None, **options):
dir_ = os.path.join(_get_staging_directory(), "scripts")
url = "sqlite:///%s/%s" % (dir_, tempname)
- return testing_util.testing_engine(url=url, future=future)
+ if scope and util.sqla_14:
+ options["scope"] = scope
+ return testing_util.testing_engine(url=url, future=future, options=options)
def _sqlite_testing_config(sourceless=False, future=False):
[tool:pytest]
addopts= --tb native -v -r sfxX -p no:warnings -p no:logging --maxfail=25
python_files=tests/test_*.py
+markers =
+ backend: tests that should run on all backends; typically dialect-sensitive
[mypy]
show_error_codes = True
context.run_migrations()
finally:
connection.close()
-
+ engine.dispose()
"""
)
class CurrentTest(_BufMixin, TestBase):
@classmethod
def setup_class(cls):
- cls.bind = _sqlite_file_db()
+ cls.bind = _sqlite_file_db(scope="class")
cls.env = env = staging_env()
cls.cfg = _sqlite_testing_config()
cls.a1 = env.generate_revision("a1", "a1")
context.run_migrations()
finally:
connection.close()
+ engine.dispose()
"""
% (version_table_pk,)
class EnureVersionTest(TestBase):
@classmethod
def setup_class(cls):
- cls.bind = _sqlite_file_db()
+ cls.bind = _sqlite_file_db(scope="class")
cls.env = staging_env()
cls.cfg = _sqlite_testing_config()
import textwrap
import sqlalchemy as sa
+from sqlalchemy import pool
from alembic import command
from alembic import testing
@testing.combinations(
- (
- False,
- True,
- ),
- (
- True,
- False,
- ),
- (
- True,
- True,
- ),
+ (False, True),
+ (True, False),
+ (True, True),
argnames="transactional_ddl,transaction_per_migration",
id_="rr",
)
branched_connection = False
def setUp(self):
- self.bind = _sqlite_file_db(future=self.future)
+ self.bind = _sqlite_file_db(
+ future=self.future, poolclass=pool.NullPool
+ )
self.env = staging_env(sourceless=self.sourceless)
self.cfg = _sqlite_testing_config(
sourceless=self.sourceless, future=self.future
sourceless = False
def setUp(self):
- self.bind = _sqlite_file_db()
+ self.bind = _sqlite_file_db(poolclass=pool.NullPool)
self.env = staging_env(sourceless=self.sourceless)
self.cfg = _sqlite_testing_config(sourceless=self.sourceless)