- 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
This commit is contained in:
Mike Bayer 2015-01-13 20:19:17 -05:00
parent f342bd2456
commit f215925bea
3 changed files with 14 additions and 2 deletions

View File

@ -31,6 +31,13 @@ class SuiteRequirements(Requirements):
"MATCH for foreign keys added in SQLAlchemy 0.8.0"
)
@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(

View File

@ -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)

View File

@ -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(