Skip to content

Commit

Permalink
Travis: Use Tox for testing
Browse files Browse the repository at this point in the history
Using Tox for running the tests allows a bit cleaner setup and makes it
possible to run all the same test environments locally too.
  • Loading branch information
suutari-ai committed Jan 26, 2018
1 parent 0e43f54 commit 46b512e
Show file tree
Hide file tree
Showing 5 changed files with 51 additions and 27 deletions.
44 changes: 20 additions & 24 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,18 +4,24 @@ sudo: false
dist: trusty

language: python
python:
- '3.4'
- '3.5'
- '3.6'

env:
global:
- DEBUG=0
- SECRET_KEY=topsecret123

cache: pip

matrix:
include:
- python: "3.4"
- python: "3.5"
- python: "3.6"
- env: TOXENV=requirements
python: "3.4"
addons: null
before_script: null
- env: TOXENV=style
python: "3.4"
addons: null
before_script: null


# As of 2017-08 the new travis trusty images have broken postgis,
# so we have to specify the exact postgres version to install right addons
addons:
Expand All @@ -24,20 +30,10 @@ addons:
packages:
- postgresql-9.6-postgis-2.3

install:
- pip install codecov -r requirements.txt -r requirements-test.txt

before_script:
- psql -c 'create database parkkihubi;' -U postgres
- psql -U postgres -c "create extension postgis"

script:
- flake8
- pytest -ra -vvv --cov
- |
if [ "$TRAVIS_PYTHON_VERSION" = "3.4" ]; then
pip install -q prequ
prequ check -v
fi
install: pip install tox-travis codecov

before_script: psql -U postgres -c "create extension postgis"

script: tox

after_success: codecov
1 change: 1 addition & 0 deletions requirements-dev.in
Original file line number Diff line number Diff line change
Expand Up @@ -4,4 +4,5 @@ django-extensions
ipython
isort
pydocstyle
tox
werkzeug
6 changes: 5 additions & 1 deletion requirements-dev.txt
Original file line number Diff line number Diff line change
Expand Up @@ -13,16 +13,20 @@ jedi==0.11.1 # via ipython
parso==0.1.1 # via jedi
pexpect==4.3.1 # via ipython
pickleshare==0.7.4 # via ipython
pluggy==0.6.0 # via tox
prompt-toolkit==1.0.15 # via ipython
ptyprocess==0.5.2 # via pexpect
py==1.5.2 # via tox
pycodestyle==2.3.1 # via autopep8
pydocstyle==2.1.1
pyflakes==1.6.0 # via autoflake
pygments==2.2.0 # via ipython
simplegeneric==0.8.1 # via ipython
six==1.11.0 # via django-extensions, prompt-toolkit, pydocstyle, traitlets
six==1.11.0 # via django-extensions, prompt-toolkit, pydocstyle, tox, traitlets
snowballstemmer==1.2.1 # via pydocstyle
tox==2.9.1
traitlets==4.3.2 # via ipython
typing==3.6.4 # via django-extensions, ipython
virtualenv==15.1.0 # via tox
wcwidth==0.1.7 # via prompt-toolkit
werkzeug==0.14.1
4 changes: 2 additions & 2 deletions setup.cfg
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ exclude = *migrations*
ignore = E309

[flake8]
exclude = migrations
exclude = .tox,migrations
max-line-length = 120
max-complexity = 10

Expand All @@ -27,7 +27,7 @@ line_length=120
multi_line_output=5
not_skip=__init__.py
order_by_type=false
skip=migrations
skip=migrations,.tox
wrap_length=120

[pydocstyle]
Expand Down
23 changes: 23 additions & 0 deletions tox.ini
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
[tox]
envlist = py{34,35,36},requirements,style
skipsdist = True

[testenv]
deps =
-rrequirements.txt
-rrequirements-test.txt
passenv = CI
setenv =
DEBUG=0
SECRET_KEY=topsecret123
commands = py.test -ra -vvv --strict --cov {posargs}

[testenv:requirements]
basepython = python3.4
deps = prequ==1.3.1
commands = prequ check -v

[testenv:style]
basepython = python3.4
deps = -rrequirements-test.txt
commands = flake8 {posargs}

0 comments on commit 46b512e

Please sign in to comment.