setup.py, tox.ini: move nose/rednose from install deps to test deps
Remove nose/rednose from `setup_requires` and instead declare them in `tests_require`. Also explicitly add `nose` and `rednose` to dependencies list in tox.ini (to avoid breaking test runs). `python setup.py nosetests` is the preferred way for running tests, and this works, except that placing test deps (nose/rednose) in the `setup_requires` also means that these dependencies are pulled in for installs of mongoengine. These deps are not actually be required just to run mongoengine, so setup.py should not force users to install these dependencies. This refactoring should not change any test run semantics.
This commit is contained in:
parent
d4f6ef4f1b
commit
35a0142f9b
5
setup.py
5
setup.py
@ -52,13 +52,13 @@ CLASSIFIERS = [
|
|||||||
extra_opts = {"packages": find_packages(exclude=["tests", "tests.*"])}
|
extra_opts = {"packages": find_packages(exclude=["tests", "tests.*"])}
|
||||||
if sys.version_info[0] == 3:
|
if sys.version_info[0] == 3:
|
||||||
extra_opts['use_2to3'] = True
|
extra_opts['use_2to3'] = True
|
||||||
extra_opts['tests_require'] = ['nose', 'coverage==3.7.1', 'blinker', 'Pillow>=2.0.0']
|
extra_opts['tests_require'] = ['nose', 'rednose', 'coverage==3.7.1', 'blinker', 'Pillow>=2.0.0']
|
||||||
if "test" in sys.argv or "nosetests" in sys.argv:
|
if "test" in sys.argv or "nosetests" in sys.argv:
|
||||||
extra_opts['packages'] = find_packages()
|
extra_opts['packages'] = find_packages()
|
||||||
extra_opts['package_data'] = {"tests": ["fields/mongoengine.png", "fields/mongodb_leaf.png"]}
|
extra_opts['package_data'] = {"tests": ["fields/mongoengine.png", "fields/mongodb_leaf.png"]}
|
||||||
else:
|
else:
|
||||||
# coverage 4 does not support Python 3.2 anymore
|
# coverage 4 does not support Python 3.2 anymore
|
||||||
extra_opts['tests_require'] = ['nose', 'coverage==3.7.1', 'blinker', 'Pillow>=2.0.0', 'python-dateutil']
|
extra_opts['tests_require'] = ['nose', 'rednose', 'coverage==3.7.1', 'blinker', 'Pillow>=2.0.0', 'python-dateutil']
|
||||||
|
|
||||||
if sys.version_info[0] == 2 and sys.version_info[1] == 6:
|
if sys.version_info[0] == 2 and sys.version_info[1] == 6:
|
||||||
extra_opts['tests_require'].append('unittest2')
|
extra_opts['tests_require'].append('unittest2')
|
||||||
@ -79,6 +79,5 @@ setup(name='mongoengine',
|
|||||||
classifiers=CLASSIFIERS,
|
classifiers=CLASSIFIERS,
|
||||||
install_requires=['pymongo>=2.7.1'],
|
install_requires=['pymongo>=2.7.1'],
|
||||||
test_suite='nose.collector',
|
test_suite='nose.collector',
|
||||||
setup_requires=['nose', 'rednose'], # Allow proper nose usage with setuptols and tox
|
|
||||||
**extra_opts
|
**extra_opts
|
||||||
)
|
)
|
||||||
|
2
tox.ini
2
tox.ini
@ -6,6 +6,8 @@ envlist = {py26,py27,py32,py33,py34,pypy,pypy3}-{mg27,mg28}
|
|||||||
commands =
|
commands =
|
||||||
python setup.py nosetests {posargs}
|
python setup.py nosetests {posargs}
|
||||||
deps =
|
deps =
|
||||||
|
nose
|
||||||
|
rednose
|
||||||
mg27: PyMongo<2.8
|
mg27: PyMongo<2.8
|
||||||
mg28: PyMongo>=2.8,<3.0
|
mg28: PyMongo>=2.8,<3.0
|
||||||
mg30: PyMongo>=3.0
|
mg30: PyMongo>=3.0
|
||||||
|
Loading…
x
Reference in New Issue
Block a user