diff options
Diffstat (limited to 'lib/sqlalchemy')
-rw-r--r-- | lib/sqlalchemy/testing/plugin/config.py | 2 | ||||
-rw-r--r-- | lib/sqlalchemy/testing/plugin/noseplugin.py | 2 | ||||
-rw-r--r-- | lib/sqlalchemy/testing/runner.py | 31 |
3 files changed, 33 insertions, 2 deletions
diff --git a/lib/sqlalchemy/testing/plugin/config.py b/lib/sqlalchemy/testing/plugin/config.py index a29c515a1..785b69ace 100644 --- a/lib/sqlalchemy/testing/plugin/config.py +++ b/lib/sqlalchemy/testing/plugin/config.py @@ -59,7 +59,7 @@ pre_configure.append(_monkeypatch_cdecimal) def _engine_uri(options, file_config): global db_label, db_url - db_label = 'sqlite' + if options.dburi: db_url = options.dburi db_label = db_url[:db_url.index(':')] diff --git a/lib/sqlalchemy/testing/plugin/noseplugin.py b/lib/sqlalchemy/testing/plugin/noseplugin.py index 841174834..31430c8d0 100644 --- a/lib/sqlalchemy/testing/plugin/noseplugin.py +++ b/lib/sqlalchemy/testing/plugin/noseplugin.py @@ -49,7 +49,7 @@ class NoseSQLAlchemy(Plugin): help="turn on debug logging for <LOG> (multiple OK)") opt("--require", action="append", dest="require", default=[], help="require a particular driver or module version (multiple OK)") - opt("--db", action="store", dest="db", default="sqlite", + opt("--db", action="store", dest="db", default="default", help="Use prefab database uri") opt('--dbs', action='callback', callback=_list_dbs, help="List available prefab dbs") diff --git a/lib/sqlalchemy/testing/runner.py b/lib/sqlalchemy/testing/runner.py new file mode 100644 index 000000000..0a82a4744 --- /dev/null +++ b/lib/sqlalchemy/testing/runner.py @@ -0,0 +1,31 @@ +#!/usr/bin/env python +""" +Nose test runner module. + +This script is a front-end to "nosetests" which +installs SQLAlchemy's testing plugin into the local environment. + +The script is intended to be used by third-party dialects and extensions +that run within SQLAlchemy's testing framework. The runner can +be invoked via:: + + python -m sqlalchemy.testing.runner + +The script is then essentially the same as the "nosetests" script, including +all of the usual Nose options. The test environment requires that a +setup.cfg is locally present including various required options. + +Note that when using this runner, Nose's "coverage" plugin will not be +able to provide coverage for SQLAlchemy itself, since SQLAlchemy is +imported into sys.modules before coverage is started. The special +script sqla_nose.py is provided as a top-level script which loads the +plugin in a special (somewhat hacky) way so that coverage against +SQLAlchemy itself is possible. + +""" + +from sqlalchemy.testing.plugin.noseplugin import NoseSQLAlchemy + +import nose + +nose.main(addplugins=[NoseSQLAlchemy()]) |