[tox]
minversion = 2.0
envlist = {py27,py34,py35,py36},{py27,py34}-flake8

# Base test environment settings
[testenv]
basepython =
    py27: {env:TOXPYTHON:python2.7}
    py34: {env:TOXPYTHON:python3.4}
    py35: {env:TOXPYTHON:python3.5}
    py36: {env:TOXPYTHON:python3.6}
commands =
    {envpython} --version
    {envpython} -c "import struct; print(struct.calcsize('P') * 8)"
deps =
    -rdevscripts/requirements/requirements_tests.txt
passenv = CI TRAVIS TRAVIS_* APPVEYOR DISTUTILS_USE_SDK MSSdk INCLUDE LIB WINDIR
platform = linux

[general]
commands =
    {[testenv]commands}
    -rm.py -f /tmp/test.sqdb
    {envpython} -m pytest --cov=m_librarian -D sqlite:///tmp/test.sqdb

[testenv:py27]
commands = {[general]commands}

[testenv:py34]
commands = {[general]commands}

[testenv:py35]
commands = {[general]commands}

[testenv:py36]
commands = {[general]commands}

[sqlite-w32]
platform = win32
commands =
    {[testenv]commands}
    -rm.py -f C:/projects/m-librarian/test.sqdb
    pytest --cov=m_librarian -D sqlite:/C:/projects/m-librarian/test.sqdb?debug=1
    rm.py -f C:/projects/m-librarian/test.sqdb

[testenv:py27-sqlite-w32]
platform = win32
commands = {[sqlite-w32]commands}

[testenv:py34-sqlite-w32]
platform = win32
commands = {[sqlite-w32]commands}

[testenv:py35-sqlite-w32]
platform = win32
commands = {[sqlite-w32]commands}

[testenv:py36-sqlite-w32]
platform = win32
commands = {[sqlite-w32]commands}

# flake8
[testenv:py27-flake8]
deps =
    flake8
commands =
    {[testenv]commands}
    flake8

[testenv:py34-flake8]
deps =
    flake8
commands =
    {[testenv]commands}
    flake8
