From 2c594da2148bf15bcb8e10fc9616bbacc70b61a3 Mon Sep 17 00:00:00 2001 From: Mike Bayer Date: Mon, 14 Aug 2017 12:04:26 -0400 Subject: Isolate memory tests in forks Swing the biggest hammer, run multiprocessing.Process() for each memusage test individually so that they are fully isolated from the parent process and any side effects of pytest-xdist Also add --nomemory as a shortcut to exclude_tags=memory-intensive and add this to the setup.py test runner as the memory tests should not be running for quick runs Change-Id: I3c16c781e21b33deb939a64e77a6e0e41fb86922 --- lib/sqlalchemy/testing/plugin/plugin_base.py | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'lib/sqlalchemy/testing/plugin') diff --git a/lib/sqlalchemy/testing/plugin/plugin_base.py b/lib/sqlalchemy/testing/plugin/plugin_base.py index ab968a379..506a1c922 100644 --- a/lib/sqlalchemy/testing/plugin/plugin_base.py +++ b/lib/sqlalchemy/testing/plugin/plugin_base.py @@ -63,6 +63,8 @@ def setup_options(make_option): help="Drop all tables in the target database first") make_option("--backend-only", action="store_true", dest="backend_only", help="Run only tests marked with __backend__") + make_option("--nomemory", action="store_true", dest="nomemory", + help="Don't run memory profiling tests") make_option("--low-connections", action="store_true", dest="low_connections", help="Use a low number of distinct connections - " @@ -228,6 +230,12 @@ def _setup_options(opt, file_config): options = opt +@pre +def _set_nomemory(opt, file_config): + if opt.nomemory: + exclude_tags.add("memory_intensive") + + @pre def _monkeypatch_cdecimal(options, file_config): if options.cdecimal: -- cgit v1.2.1