]> git.ipfire.org Git - thirdparty/sqlalchemy/alembic.git/commitdiff
Do not assume that greenlet is installed
authorFederico Caselli <cfederico87@gmail.com>
Mon, 6 Nov 2023 21:39:02 +0000 (22:39 +0100)
committerFederico Caselli <cfederico87@gmail.com>
Mon, 6 Nov 2023 22:06:34 +0000 (23:06 +0100)
Update test to take into consideration the case where greenlet is not
installed. This is to support sqlalchemy 2.1 that removes it as
required dependency

Change-Id: I50dddf76536169df8abfd70fbb9133f2b13eec3d

alembic/testing/requirements.py
tests/test_op.py
tox.ini

index 2107da468dd9a0ea389a89a8081b46dedcc71c81..6e07e28ea48a7615ad3a1d8a874873eba97ee148 100644 (file)
@@ -95,6 +95,18 @@ class SuiteRequirements(Requirements):
             "SQLAlchemy 2.x test",
         )
 
+    @property
+    def asyncio(self):
+        def go(config):
+            try:
+                import greenlet  # noqa: F401
+            except ImportError:
+                return False
+            else:
+                return True
+
+        return self.sqlalchemy_14 + exclusions.only_if(go)
+
     @property
     def comments(self):
         return exclusions.only_if(
index f1b8d27d3651901f65b144e9c263ee1301730675..2b924d288981941ef5359eaa79df1718deb71085 100644 (file)
@@ -1267,7 +1267,7 @@ class OpTest(TestBase):
         ):
             op.run_async(go)
 
-    @config.requirements.sqlalchemy_14
+    @config.requirements.asyncio
     def test_run_async_ok(self):
         from sqlalchemy.ext.asyncio import AsyncConnection
 
diff --git a/tox.ini b/tox.ini
index 62ef921ab138ecb5c5fbba1c2db16d0a22eef1f5..24219bb4620dccde3ab8f92a6d28aa62d00c5056 100644 (file)
--- a/tox.ini
+++ b/tox.ini
@@ -24,7 +24,8 @@ deps=pytest>4.6
      mako
      python-dateutil
      zimports
-     black==22.3.0
+     black==23.3.0
+     greenlet>=1