Current Path :
/
lib
/
python2.7
/
site-packages
/
alembic
/
testing
/
plugin
/
Or
Select Your Path :
Upload File :
New :
File
Dir
//lib/python2.7/site-packages/alembic/testing/plugin/plugin_base.py
"""vendored plugin_base functions from the most recent SQLAlchemy versions. Alembic tests need to run on older versions of SQLAlchemy that don't necessarily have all the latest testing fixtures. """ from __future__ import absolute_import import abc import sys from sqlalchemy.testing.plugin.plugin_base import * # noqa from sqlalchemy.testing.plugin.plugin_base import post from sqlalchemy.testing.plugin.plugin_base import stop_test_class as sqla_stc py3k = sys.version_info >= (3, 0) if py3k: ABC = abc.ABC else: class ABC(object): __metaclass__ = abc.ABCMeta # override selected SQLAlchemy pytest hooks with vendored functionality def stop_test_class(cls): sqla_stc(cls) import os from alembic.testing.env import _get_staging_directory assert not os.path.exists(_get_staging_directory()), ( "staging directory %s was not cleaned up" % _get_staging_directory() ) def want_class(name, cls): from sqlalchemy.testing import config from sqlalchemy.testing import fixtures if not issubclass(cls, fixtures.TestBase): return False elif name.startswith("_"): return False elif ( config.options.backend_only and not getattr(cls, "__backend__", False) and not getattr(cls, "__sparse_backend__", False) ): return False else: return True @post def _init_symbols(options, file_config): from sqlalchemy.testing import config from alembic.testing import fixture_functions as alembic_config config._fixture_functions = ( alembic_config._fixture_functions ) = _fixture_fn_class() class FixtureFunctions(ABC): @abc.abstractmethod def skip_test_exception(self, *arg, **kw): raise NotImplementedError() @abc.abstractmethod def combinations(self, *args, **kw): raise NotImplementedError() @abc.abstractmethod def param_ident(self, *args, **kw): raise NotImplementedError() @abc.abstractmethod def fixture(self, *arg, **kw): raise NotImplementedError() def get_current_test_name(self): raise NotImplementedError() _fixture_fn_class = None def set_fixture_functions(fixture_fn_class): from sqlalchemy.testing.plugin import plugin_base global _fixture_fn_class _fixture_fn_class = plugin_base._fixture_fn_class = fixture_fn_class