Merge pull request #2035 from jackwilsdon/improve-tox-configuration

Update tox configuration
This commit is contained in:
Jack Wilsdon 2016-06-03 14:02:07 +01:00
commit 96dfa37e40
4 changed files with 60 additions and 29 deletions

View file

@ -1,16 +1,33 @@
language: python
sudo: false
env:
global:
# Undocumented feature of nose-show-skipped.
NOSE_SHOW_SKIPPED: 1
matrix:
include:
- python: 2.7
env: {TOX_ENV: py27cov, COVERAGE: 1}
env: {TOX_ENV: py27-cov, COVERAGE: 1}
- python: 3.3
env: {TOX_ENV: py33-test}
- python: 3.4
env: {TOX_ENV: py34-test}
- python: 3.5
env: {TOX_ENV: py35-test}
- python: pypy
env: {TOX_ENV: pypy}
env: {TOX_ENV: pypy-test}
- python: 2.7
env: {TOX_ENV: docs, NONTEST: 1}
env: {TOX_ENV: py27-flake8}
- python: 3.3
env: {TOX_ENV: py33-flake8}
- python: 2.7
env: {TOX_ENV: flake8, NONTEST: 1}
env: {TOX_ENV: docs}
allow_failures:
- python: 3.3
- python: 3.4
- python: 3.5
# Non-Python dependencies.
addons:

View file

@ -3,18 +3,31 @@ build: off
deploy: off
environment:
# Undocumented feature of nose-show-skipped.
NOSE_SHOW_SKIPPED: 1
matrix:
- PYTHON: "C:\\Python27"
TOXENV: py27
- PYTHON: C:\Python27
TOX_ENV: py27-test
- PYTHON: C:\Python33
TOX_ENV: py33-test
- PYTHON: C:\Python34
TOX_ENV: py34-test
- PYTHON: C:\Python35
TOX_ENV: py35-test
# Install Tox for running tests.
install:
- "%PYTHON%/Scripts/pip.exe install tox"
- "%PYTHON%/Scripts/tox.exe -e %TOX_ENV% --notest"
test_script:
- "%PYTHON%/Scripts/tox.exe"
- "%PYTHON%/Scripts/tox.exe -e %TOX_ENV%"
# Allow all failures for now: the tests don't yet pass!
matrix:
allow_failures:
- TOXENV: py27
- TOX_ENV: py27-test
- TOX_ENV: py33-test
- TOX_ENV: py34-test
- TOX_ENV: py35-test

View file

@ -4,7 +4,7 @@ logging-clear-handlers=1
eval-attr="!=slow"
[flake8]
min-version = 2.7
min-version=2.7
# Default pyflakes errors we ignore:
# - E241: missing whitespace after ',' (used to align visually)
# - E221: multiple spaces before operator (used to align visually)

41
tox.ini
View file

@ -4,9 +4,9 @@
# and then run "tox" from this directory.
[tox]
envlist = py27, pypy, docs, flake8
envlist = py{27,33,34,35}-{test,cov}, py{27,33}-flake8, docs
[testenv]
[_test]
deps =
beautifulsoup4
flask
@ -21,27 +21,28 @@ deps =
pyxdg
jellyfish
python-mpd2
commands = nosetests {posargs}
[testenv:py27cov]
basepython = python2.7
deps =
{[testenv]deps}
coverage
commands = nosetests --show-skipped --with-coverage {posargs}
[testenv:py27setup]
basepython = python2.7
commands = python ./setup.py test {posargs}
[testenv:docs]
changedir = docs
deps = sphinx
commands = sphinx-build -W -q -b html . {envtmpdir}/html
[testenv:flake8]
[_flake8]
deps =
flake8
flake8-future-import
pep8-naming
commands = flake8 beets beetsplug beet test setup.py docs
files = beets beetsplug beet test setup.py docs
[testenv]
passenv =
NOSE_SHOW_SKIPPED # Undocumented feature of nose-show-skipped.
deps =
{test,cov}: {[_test]deps}
py{27,33}-flake8: {[_flake8]deps}
commands =
cov: nosetests --with-coverage {posargs}
test: nosetests {posargs}
py27-flake8: flake8 --min-version 2.7 {posargs} {[_flake8]files}
py33-flake8: flake8 --min-version 3.3 {posargs} {[_flake8]files}
[testenv:docs]
basepython = python2.7
deps = sphinx
commands = sphinx-build -W -q -b html docs {envtmpdir}/html {posargs}