[tox]
-minversion = 1.8
-envlist = {py26,py27,py34},{py27,py34}-flake8
+minversion = 3.15
+envlist = py27-sqlite,py3{4,5,6,7,8,9}-sqlite,py{27,39}-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}
+ py37: {env:TOXPYTHON:python3.7}
+ py38: {env:TOXPYTHON:python3.8}
+ py39: {env:TOXPYTHON:python3.9}
+commands =
+ {envpython} --version
+ {envpython} -c "import struct; print(struct.calcsize('P') * 8)"
deps =
- pytest
- pytest-cov
- py26: argparse
- py26,py27: SQLObject>=2.2.1
- py34: SQLObject>=3.0.0
- py26,py27: m_lib>=2.0
- py34: m_lib>=3.0
-sitepackages = True
-# Don't fail or warn on uninstalled commands
-whitelist_externals =
- flake8
- py.test
+ pip < 19.2
+ setuptools < 44
+ -rdevscripts/requirements/requirements_tests.txt
+passenv = CI TRAVIS TRAVIS_* APPVEYOR DISTUTILS_USE_SDK MSSdk INCLUDE LIB WINDIR
+setenv =
+ VIRTUALENV_PIP = 19.1.1
+platform = linux
-[general]
+[testenv:{py27,py34,py35,py36,py37,py38,py39}-sqlite]
commands =
- python /usr/local/bin/py.test --cov={envsitepackagesdir}/m_librarian
-
-[testenv:py26]
-commands = {[general]commands}
-
-[testenv:py27]
-commands = {[general]commands}
+ {[testenv]commands}
+ -rm.py -f /tmp/test.sqdb
+ {envpython} -m pytest --cov=m_librarian -D sqlite:///tmp/test.sqdb
-[testenv:py34]
-commands = {[general]commands}
+[testenv:{py27,py34,py35,py36,py37,py38,py39}-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-flake8]
+# flake8
+[testenv:{py27,py34,py35,py36,py37,py38,py39}-flake8]
deps =
flake8
-commands = flake8 m_librarian scripts test
-
-[testenv:py34-flake8]
-deps =
+commands =
+ {[testenv]commands}
flake8
-commands = flake8 m_librarian scripts test