summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Bayer <mike_mp@zzzcomputing.com>2015-01-13 20:19:17 -0500
committerMike Bayer <mike_mp@zzzcomputing.com>2015-01-13 20:23:49 -0500
commitf215925bea1e0e170e5d80457cb18202736b926b (patch)
tree3846a5eeea3be556722c99cd78d70d16ed229447
parentf342bd245637651046b553114ab34ce3cee1a02b (diff)
downloadalembic-f215925bea1e0e170e5d80457cb18202736b926b.tar.gz
- the enum render is an 0.9 regression, apparently we used
a different repr() scheme in 0.7.9->0.8 that didn't omit native_enum
-rw-r--r--alembic/testing/requirements.py7
-rw-r--r--alembic/util.py1
-rw-r--r--tests/test_autogen_render.py8
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(