summaryrefslogtreecommitdiff
path: root/lib/sqlalchemy/testing/engines.py
diff options
context:
space:
mode:
Diffstat (limited to 'lib/sqlalchemy/testing/engines.py')
-rw-r--r--lib/sqlalchemy/testing/engines.py14
1 files changed, 13 insertions, 1 deletions
diff --git a/lib/sqlalchemy/testing/engines.py b/lib/sqlalchemy/testing/engines.py
index a313c298a..3faf96857 100644
--- a/lib/sqlalchemy/testing/engines.py
+++ b/lib/sqlalchemy/testing/engines.py
@@ -266,7 +266,13 @@ def reconnecting_engine(url=None, options=None):
return engine
-def testing_engine(url=None, options=None, future=None, asyncio=False):
+def testing_engine(
+ url=None,
+ options=None,
+ future=None,
+ asyncio=False,
+ transfer_staticpool=False,
+):
"""Produce an engine configured by --options with optional overrides."""
if asyncio:
@@ -300,6 +306,12 @@ def testing_engine(url=None, options=None, future=None, asyncio=False):
engine = create_engine(url, **options)
+ if transfer_staticpool:
+ from sqlalchemy.pool import StaticPool
+
+ if config.db is not None and isinstance(config.db.pool, StaticPool):
+ engine.pool._transfer_from(config.db.pool)
+
if scope == "global":
if asyncio:
engine.sync_engine._has_events = True