diff options
author | Mike Bayer <mike_mp@zzzcomputing.com> | 2017-08-22 13:07:24 -0400 |
---|---|---|
committer | Mike Bayer <mike_mp@zzzcomputing.com> | 2017-08-22 13:07:45 -0400 |
commit | df01130bb12f789e233c79363912322463ca1591 (patch) | |
tree | 6ce6b130d47fe99d958f28e6c32666334b6f79fd | |
parent | d4f8b12442cb2eaa2d411b8735e901cec6b0ad51 (diff) | |
download | sqlalchemy-df01130bb12f789e233c79363912322463ca1591.tar.gz |
- repair --dbs
Change-Id: I69e39d2368f50b126c369ecc35e01799fd013254
(cherry picked from commit 3fc6f32ddc5fbbf439acff42c2fdae9e910154be)
-rw-r--r-- | lib/sqlalchemy/testing/plugin/plugin_base.py | 2 | ||||
-rw-r--r-- | lib/sqlalchemy/testing/plugin/pytestplugin.py | 20 |
2 files changed, 21 insertions, 1 deletions
diff --git a/lib/sqlalchemy/testing/plugin/plugin_base.py b/lib/sqlalchemy/testing/plugin/plugin_base.py index ca8abaa8e..2aeebd319 100644 --- a/lib/sqlalchemy/testing/plugin/plugin_base.py +++ b/lib/sqlalchemy/testing/plugin/plugin_base.py @@ -54,7 +54,7 @@ def setup_options(make_option): make_option("--db", action="append", type="string", dest="db", help="Use prefab database uri. Multiple OK, " "first one is run by default.") - make_option('--dbs', action='callback', callback=_list_dbs, + make_option('--dbs', action='callback', zeroarg_callback=_list_dbs, help="List available prefab dbs") make_option("--dburi", action="append", type="string", dest="dburi", help="Database uri. Multiple OK, " diff --git a/lib/sqlalchemy/testing/plugin/pytestplugin.py b/lib/sqlalchemy/testing/plugin/pytestplugin.py index 377b4643c..da682ea00 100644 --- a/lib/sqlalchemy/testing/plugin/pytestplugin.py +++ b/lib/sqlalchemy/testing/plugin/pytestplugin.py @@ -30,6 +30,26 @@ def pytest_addoption(parser): callback_(option_string, values, parser) kw["action"] = CallableAction + zeroarg_callback = kw.pop("zeroarg_callback", None) + if zeroarg_callback: + class CallableAction(argparse.Action): + def __init__(self, option_strings, + dest, default=False, + required=False, help=None): + super(CallableAction, self).__init__( + option_strings=option_strings, + dest=dest, + nargs=0, + const=True, + default=default, + required=required, + help=help) + + def __call__(self, parser, namespace, + values, option_string=None): + zeroarg_callback(option_string, values, parser) + kw["action"] = CallableAction + group.addoption(name, **kw) plugin_base.setup_options(make_option) |