fuzzysearch/tox.ini

48 lines
2.2 KiB
INI

[tox]
envlist = py{26,27,32,33,34,35,36}-{with,without}_coverage
[testenv]
install_command =
pip install -vvv {opts} {packages}
; setenv =
; ; The following two flags are a workaround for an issue with building
; ; Python extensions on OSX with xcode 5.1.
; ; See: http://stackoverflow.com/questions/22313407/
; CFLAGS=-Qunused-arguments
; CPPFLAGS=-Qunused-arguments
deps =
; use specific versions of testing tools with which this is known to work
with_coverage: coverage==3.7.1
py26: unittest2==1.1.0
py{26,27,32}: mock==1.3.0
; use the latest version of BioPython
py{27,33,34,35,36}: biopython
whitelist_externals =
mv
commands =
; Notes:
; * run tests both with and without the C extensions (including Cython)
; * if running with coverage, merge the coverage run results from both runs
; * for Python 2.6 use the unit2 script since -m unittest2 doesn't work
; (but when running with coverage, coverage run -m unittest2 works)
py26-without_coverage: {envbindir}/unit2 discover tests -t {toxinidir}
py26-with_coverage: {envbindir}/coverage run --source=fuzzysearch -m unittest2 discover tests
py{27,32,33,34,35,36}-without_coverage: {envpython} -m unittest discover tests
py{27,32,33,34,35,36}-with_coverage: {envbindir}/coverage run --source=fuzzysearch -m unittest discover tests
with_coverage: mv .coverage .coverage.with_extensions
{envpython} -c 'import os; [os.remove(os.path.join(d, fn)) for (d, dns, fns) in os.walk(os.path.join(r"{envsitepackagesdir}", "fuzzysearch")) for fn in fns if fn.endswith((".so", ".pyd"))]'
py26-without_coverage: {envbindir}/unit2 discover tests -t {toxinidir}
py26-with_coverage: {envbindir}/coverage run --source=fuzzysearch -m unittest2 discover tests
py{27,32,33,34,35,36}-without_coverage: {envpython} -m unittest discover tests
py{27,32,33,34,35,36}-with_coverage: {envbindir}/coverage run --source=fuzzysearch -m unittest discover tests
with_coverage: mv .coverage .coverage.no_extensions
with_coverage: {envbindir}/coverage combine
basepython =
py26: python2.6
py27: python2.7
py32: python3.2
py33: python3.3
py34: python3.4
py35: python3.5
py36: python3.6