tox.ini

Summary

Maintainability
Test Coverage
[tox]
envlist = {py36,py37,p38}-{postgresql,sqlite,mysql}

[testenv]
deps =
    postgresql: psycopg2-binary
    mysql: mysqlclient
envdir:
    py36: {toxworkdir}/3.6
    py37: {toxworkdir}/3.7
    py38: {toxworkdir}/3.8
setenv:
    sqlite: KOTTI_TEST_DB_STRING=sqlite://
    py35-mysql: KOTTI_TEST_DB_STRING=mysql://root@localhost:3306/kotti_testing
    py36-mysql: KOTTI_TEST_DB_STRING=mysql://root@localhost:3306/kotti_testing
    py37-mysql: KOTTI_TEST_DB_STRING=mysql://root@localhost:3306/kotti_testing
    py35-postgresql: KOTTI_TEST_DB_STRING=postgresql://127.0.0.1:5432/kotti_testing
    py36-postgresql: KOTTI_TEST_DB_STRING=postgresql://127.0.0.1:5432/kotti_testing
    py37-postgresql: KOTTI_TEST_DB_STRING=postgresql://127.0.0.1:5432/kotti_testing
install_command: pip install {opts} {packages}
whitelist_externals =
    mysql
    psql
commands =
    postgresql: psql -U postgres -c 'CREATE DATABASE kotti_testing;'
    mysql: mysql -u root -e 'CREATE DATABASE kotti_testing CHARACTER SET utf8 COLLATE utf8_general_ci;'
    pip install -e .[testing]
    pytest
    postgresql: psql -U postgres -c 'DROP DATABASE kotti_testing;'
    mysql: mysql -u root -e 'DROP DATABASE kotti_testing;'