diff options
-rw-r--r-- | alembic/testing/requirements.py | 7 | ||||
-rw-r--r-- | alembic/util.py | 1 | ||||
-rw-r--r-- | tests/test_autogen_render.py | 8 |
3 files changed, 14 insertions, 2 deletions
diff --git a/alembic/testing/requirements.py b/alembic/testing/requirements.py index 1e8a0a6..b981951 100644 --- a/alembic/testing/requirements.py +++ b/alembic/testing/requirements.py @@ -32,6 +32,13 @@ class SuiteRequirements(Requirements): ) @property + def fail_before_sqla_079(self): + return exclusions.fails_if( + lambda config: not util.sqla_079, + "SQLAlchemy 0.7.9 or greater required" + ) + + @property def fail_before_sqla_080(self): return exclusions.fails_if( lambda config: not util.sqla_08, diff --git a/alembic/util.py b/alembic/util.py index 3d2c541..d9ec1c8 100644 --- a/alembic/util.py +++ b/alembic/util.py @@ -27,6 +27,7 @@ def _safe_int(value): _vers = tuple( [_safe_int(x) for x in re.findall(r'(\d+|[abc]\d)', __version__)]) sqla_07 = _vers > (0, 7, 2) +sqla_079 = _vers >= (0, 7, 9) sqla_08 = _vers >= (0, 8, 0) sqla_083 = _vers >= (0, 8, 3) sqla_084 = _vers >= (0, 8, 4) diff --git a/tests/test_autogen_render.py b/tests/test_autogen_render.py index 59def1b..3083857 100644 --- a/tests/test_autogen_render.py +++ b/tests/test_autogen_render.py @@ -1,6 +1,6 @@ import re import sys -from alembic.testing import TestBase +from alembic.testing import TestBase, exclusions from sqlalchemy import MetaData, Column, Table, String, \ Numeric, CHAR, ForeignKey, DATETIME, Integer, \ @@ -925,6 +925,7 @@ unique=False, """ "existing_server_default='5')" ) + @config.requirements.fail_before_sqla_079 def test_render_enum(self): eq_ignore_whitespace( autogenerate.render._repr_type( @@ -939,7 +940,10 @@ unique=False, """ "sa.Enum('one', 'two', 'three')" ) - @config.requirements.fail_before_sqla_099 + @exclusions.fails_if( + lambda config: (util.sqla_09 and not util.sqla_099) or not util.sqla_079, + "Fails on SQLAlchemy <0.7.9, 0.9.0-0.9.8" + ) def test_render_non_native_enum(self): eq_ignore_whitespace( autogenerate.render._repr_type( |