]> git.ipfire.org Git - thirdparty/sqlalchemy/alembic.git/commitdiff
- the enum render is an 0.9 regression, apparently we used
authorMike Bayer <mike_mp@zzzcomputing.com>
Wed, 14 Jan 2015 01:19:17 +0000 (20:19 -0500)
committerMike Bayer <mike_mp@zzzcomputing.com>
Wed, 14 Jan 2015 01:23:49 +0000 (20:23 -0500)
a different repr() scheme in 0.7.9->0.8 that didn't omit native_enum

alembic/testing/requirements.py
alembic/util.py
tests/test_autogen_render.py

index 1e8a0a64447a2e80c12cc805c0fb7e06f3434f2a..b98195128a5c241a2f731b2a140e0dc410d186f5 100644 (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(
index 3d2c541974ad9fe1579ad7a7a4b51041184ca105..d9ec1c8146f1f94de4b297caa7ebabeea773d71b 100644 (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)
index 59def1be77f06838bc7a50444df31d735a688d9f..308385749f1ac47a575cde3fcb9e26e25da1f636 100644 (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(