From 91ee85152c8ac830a4f01c9a6a1b856f77d2f9d0 Mon Sep 17 00:00:00 2001 From: Axel Haustant Date: Fri, 17 Apr 2015 11:26:47 +0200 Subject: [PATCH] Tests/Tox/TravisCI improvements --- .travis.yml | 38 +++++++++++++++++++------------------- CONTRIBUTING.rst | 2 +- README.rst | 2 +- setup.cfg | 15 ++++++--------- setup.py | 2 +- tox.ini | 2 +- 6 files changed, 29 insertions(+), 32 deletions(-) diff --git a/.travis.yml b/.travis.yml index 37ec8cf7..cd5d953b 100644 --- a/.travis.yml +++ b/.travis.yml @@ -8,20 +8,30 @@ python: - pypy - pypy3 env: -- PYMONGO=2.7.2 -- PYMONGO=2.8 +- PYMONGO=2.7 DJANGO=dev +- PYMONGO=2.7 DJANGO=1.8 +- PYMONGO=2.7 DJANGO=1.7 +- PYMONGO=2.7 DJANGO=1.6 +- PYMONGO=2.7 DJANGO=1.5 +- PYMONGO=2.8 DJANGO=dev +- PYMONGO=2.8 DJANGO=1.8 +- PYMONGO=2.8 DJANGO=1.7 +- PYMONGO=2.8 DJANGO=1.6 +- PYMONGO=2.8 DJANGO=1.5 matrix: exclude: - python: '2.6' - env: PYMONGO=2.7.2 + env: PYMONGO=2.7 DJANGO=dev - python: '2.6' env: PYMONGO=2.8 - python: '2.6' - env: PYMONGO=2.7.2 + env: PYMONGO=2.7 DJANGO=1.7 - python: '2.6' - env: PYMONGO=2.8 - allow_failures: - - python: pypy3 + env: PYMONGO=2.8 DJANGO=1.7 + - python: '2.6' + env: PYMONGO=2.7 DJANGO=1.8 + - python: '2.6' + env: PYMONGO=2.8 DJANGO=1.8 fast_finish: true before_install: - travis_retry sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 7F0CEB10 @@ -33,19 +43,9 @@ install: - sudo apt-get install python-dev python3-dev libopenjpeg-dev zlib1g-dev libjpeg-turbo8-dev libtiff4-dev libjpeg8-dev libfreetype6-dev liblcms2-dev libwebp-dev tcl8.5-dev tk8.5-dev python-tk -- if [[ $PYMONGO == 'dev' ]]; then travis_retry pip install https://github.com/mongodb/mongo-python-driver/tarball/master; - true; fi -- if [[ $PYMONGO != 'dev' ]]; then travis_retry pip install pymongo==$PYMONGO; true; - fi -- travis_retry pip install https://pypi.python.org/packages/source/p/python-dateutil/python-dateutil-2.1.tar.gz#md5=1534bb15cf311f07afaa3aacba1c028b -- travis_retry pip install coveralls -- travis_retry python setup.py install +- travis_retry pip install tox>=1.9 script: -- travis_retry python setup.py test -- if [[ $TRAVIS_PYTHON_VERSION == '3.'* ]]; then 2to3 . -w; fi; -- coverage run --source=mongoengine setup.py test -- coverage report -m -- python benchmark.py +- tox -e $(echo py$TRAVIS_PYTHON_VERSION-mg$PYMONGO-dj$DJANGO | tr -d . | sed -e 's/pypypy/pypy/') -- with-coverage after_script: coveralls --verbose notifications: irc: irc.freenode.org#mongoengine diff --git a/CONTRIBUTING.rst b/CONTRIBUTING.rst index 0ad7fd5c..c935d5a3 100644 --- a/CONTRIBUTING.rst +++ b/CONTRIBUTING.rst @@ -44,7 +44,7 @@ General Guidelines - Avoid backward breaking changes if at all possible. - Write inline documentation for new classes and methods. - Write tests and make sure they pass (make sure you have a mongod - running on the default port, then execute ``python setup.py test`` + running on the default port, then execute ``python setup.py nosetests`` from the cmd line to run the test suite). - Ensure tests pass on every Python and PyMongo versions. You can test on these versions locally by executing ``tox`` diff --git a/README.rst b/README.rst index 6e32d3f3..2414ed16 100644 --- a/README.rst +++ b/README.rst @@ -96,7 +96,7 @@ Some simple examples of what MongoEngine code looks like:: Tests ===== To run the test suite, ensure you are running a local instance of MongoDB on -the standard port, and run: ``python setup.py test``. +the standard port, and run: ``python setup.py nosetests``. To run the test suite on every supported Python version and every supported PyMongo version, you can use ``tox``. diff --git a/setup.cfg b/setup.cfg index 2ee0f499..2aac6e1e 100644 --- a/setup.cfg +++ b/setup.cfg @@ -1,12 +1,9 @@ [nosetests] -verbosity = 3 +rednose = 1 +verbosity = 2 detailed-errors = 1 -#with-coverage = 1 -#cover-erase = 1 -#cover-html = 1 -#cover-html-dir = ../htmlcov -#cover-package = mongoengine +cover-erase = 1 +cover-branches = 1 +cover-package = mongoengine py3where = build -#where = tests -tests = tests -#tests = document/__init__.py \ No newline at end of file +where = tests diff --git a/setup.py b/setup.py index 3ae5aeac..42794452 100644 --- a/setup.py +++ b/setup.py @@ -29,7 +29,6 @@ init = os.path.join(os.path.dirname(__file__), 'mongoengine', '__init__.py') version_line = list(filter(lambda l: l.startswith('VERSION'), open(init)))[0] VERSION = get_version(eval(version_line.split('=')[-1])) -print(VERSION) CLASSIFIERS = [ 'Development Status :: 4 - Beta', @@ -79,5 +78,6 @@ setup(name='mongoengine', classifiers=CLASSIFIERS, install_requires=['pymongo>=2.7.1'], test_suite='nose.collector', + setup_requires=['nose', 'rednose'], # Allow proper nose usage with setuptols and tox **extra_opts ) diff --git a/tox.ini b/tox.ini index 61692f7c..38517bdc 100644 --- a/tox.ini +++ b/tox.ini @@ -5,7 +5,7 @@ envlist = [testenv] commands = - python setup.py test + python setup.py nosetests {posargs} deps = mg27: PyMongo<2.8 mg28: PyMongo>=2.8,<3.0