From de47ebb163b92d9ff0e43c4e73151a7811d32cfb Mon Sep 17 00:00:00 2001 From: Mike Bayer Date: Fri, 6 Oct 2017 15:03:21 -0400 Subject: [PATCH] - still attempt to exclude mariadb 10.2 from this test for older SQLAlchemy versions Change-Id: I38aaa14cae326206f4d2c0f22150336957187de7 --- alembic/testing/requirements.py | 7 +++++++ alembic/util/__init__.py | 3 ++- alembic/util/sqla_compat.py | 1 + tests/requirements.py | 7 +++++++ tests/test_mysql.py | 2 ++ 5 files changed, 19 insertions(+), 1 deletion(-) diff --git a/alembic/testing/requirements.py b/alembic/testing/requirements.py index 6f8014cd..7564b06e 100644 --- a/alembic/testing/requirements.py +++ b/alembic/testing/requirements.py @@ -165,6 +165,13 @@ class SuiteRequirements(Requirements): "SQLAlchemy 1.0.14 or greater required" ) + @property + def sqlalchemy_1115(self): + return exclusions.skip_if( + lambda config: not util.sqla_1115, + "SQLAlchemy 1.1.15 or greater required" + ) + @property def sqlalchemy_110(self): return exclusions.skip_if( diff --git a/alembic/util/__init__.py b/alembic/util/__init__.py index 69b652fe..8b5d8c78 100644 --- a/alembic/util/__init__.py +++ b/alembic/util/__init__.py @@ -8,7 +8,8 @@ from .pyfiles import ( # noqa pyc_file_from_path, load_python_file, edit) from .sqla_compat import ( # noqa sqla_07, sqla_079, sqla_08, sqla_083, sqla_084, sqla_09, sqla_092, - sqla_094, sqla_099, sqla_100, sqla_105, sqla_110, sqla_1010, sqla_1014) + sqla_094, sqla_099, sqla_100, sqla_105, sqla_110, sqla_1010, sqla_1014, + sqla_1115) from .exc import CommandError diff --git a/alembic/util/sqla_compat.py b/alembic/util/sqla_compat.py index b90316a5..2a337658 100644 --- a/alembic/util/sqla_compat.py +++ b/alembic/util/sqla_compat.py @@ -31,6 +31,7 @@ sqla_105 = _vers >= (1, 0, 5) sqla_1010 = _vers >= (1, 0, 10) sqla_110 = _vers >= (1, 1, 0) sqla_1014 = _vers >= (1, 0, 14) +sqla_1115 = _vers >= (1, 1, 15) if sqla_08: from sqlalchemy.sql.expression import TextClause diff --git a/tests/requirements.py b/tests/requirements.py index 660ae21a..d3f8cbea 100644 --- a/tests/requirements.py +++ b/tests/requirements.py @@ -125,6 +125,13 @@ class DefaultRequirements(SuiteRequirements): """if a compare of Integer and BigInteger is supported yet.""" return exclusions.skip_if(["oracle"], "not supported by alembic impl") + @property + def mysql_timestamp_reflection(self): + def go(config): + return not self._mariadb_102(config) \ + or self.sqlalchemy_1115.enabled + return exclusions.only_if(go) + def _mariadb_102(self, config): return exclusions.against(config, "mysql") and \ sqla_compat._is_mariadb(config.db.dialect) and \ diff --git a/tests/test_mysql.py b/tests/test_mysql.py index 212abab6..ac20f9bc 100644 --- a/tests/test_mysql.py +++ b/tests/test_mysql.py @@ -219,6 +219,8 @@ class MySQLDefaultCompareTest(TestBase): __only_on__ = 'mysql' __backend__ = True + __requires__ = 'mysql_timestamp_reflection', + @classmethod def setup_class(cls): cls.bind = config.db -- 2.47.2