summaryrefslogtreecommitdiff
path: root/lib/sqlalchemy/testing/config.py
diff options
context:
space:
mode:
Diffstat (limited to 'lib/sqlalchemy/testing/config.py')
-rw-r--r--lib/sqlalchemy/testing/config.py16
1 files changed, 13 insertions, 3 deletions
diff --git a/lib/sqlalchemy/testing/config.py b/lib/sqlalchemy/testing/config.py
index 749d04248..a75c36776 100644
--- a/lib/sqlalchemy/testing/config.py
+++ b/lib/sqlalchemy/testing/config.py
@@ -180,9 +180,15 @@ def variation(argname, cases):
"""
+ cases_plus_limitations = [
+ entry
+ if (isinstance(entry, tuple) and len(entry) == 2)
+ else (entry, None)
+ for entry in cases
+ ]
case_names = [
argname if c is True else "not_" + argname if c is False else c
- for c in cases
+ for c, l in cases_plus_limitations
]
typ = type(
@@ -195,8 +201,12 @@ def variation(argname, cases):
return combinations(
*[
- (casename, typ(casename, argname, case_names))
- for casename in case_names
+ (casename, typ(casename, argname, case_names), limitation)
+ if limitation is not None
+ else (casename, typ(casename, argname, case_names))
+ for casename, (case, limitation) in zip(
+ case_names, cases_plus_limitations
+ )
],
id_="ia",
argnames=argname,