diff options
Diffstat (limited to 'lib/sqlalchemy/testing/plugin/pytestplugin.py')
-rw-r--r-- | lib/sqlalchemy/testing/plugin/pytestplugin.py | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/lib/sqlalchemy/testing/plugin/pytestplugin.py b/lib/sqlalchemy/testing/plugin/pytestplugin.py index 363a73ecc..6efeac504 100644 --- a/lib/sqlalchemy/testing/plugin/pytestplugin.py +++ b/lib/sqlalchemy/testing/plugin/pytestplugin.py @@ -70,16 +70,16 @@ def pytest_addoption(parser): def pytest_configure(config): if plugin_base.exclude_tags or plugin_base.include_tags: - if config.option.markexpr: - raise ValueError( - "Can't combine explicit pytest marks with legacy options " - "such as --backend-only, --exclude-tags, etc. " - ) - config.option.markexpr = " and ".join( + new_expr = " and ".join( list(plugin_base.include_tags) + [f"not {tag}" for tag in plugin_base.exclude_tags] ) + if config.option.markexpr: + config.option.markexpr += f" and {new_expr}" + else: + config.option.markexpr = new_expr + if config.pluginmanager.hasplugin("xdist"): config.pluginmanager.register(XDistHooks()) |