X-Git-Url: https://git.phdru.name/?p=sqlconvert.git;a=blobdiff_plain;f=tox.ini;h=150c8b79dceae165a8ef8ff275788d5636bc3995;hp=0574d8a58e902e1b1f7e53f0d2d5cf653be72f27;hb=96ec2fdc1e551d98d78ec9bd3aa8ef997063dc4b;hpb=20afb1eb53ecd8387b2e8e6dbd60718538434068 diff --git a/tox.ini b/tox.ini index 0574d8a..150c8b7 100644 --- a/tox.ini +++ b/tox.ini @@ -1,28 +1,37 @@ [tox] -minversion = 1.8 -envlist = {py26,py27,py34},{py27,py34}-flake8 +minversion = 2.0 +envlist = py27,py3{4,5,6,7,8}{,-sqlite},py{27,38}-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} +commands = + {envpython} --version + {envpython} -c "import struct; print(struct.calcsize('P') * 8)" deps = - sqlparse - pytest - pytest-cov - py26: argparse - py26,py27: m_lib>=2.0 - py34: m_lib>=3.0 -sitepackages = True + -rdevscripts/requirements/requirements_tests.txt + postgres: psycopg2-binary +passenv = PGPASSWORD +platform = linux # Don't fail or warn on uninstalled commands whitelist_externals = - flake8 - py.test + cmd + createdb + dropdb [general] commands = - python -m pytest --cov=sqlconvert - -[testenv:py26] -commands = {[general]commands} + {[testenv]commands} + {envpython} -m pytest --cov=sqlconvert + {envpython} {envbindir}/mysql2sql -P demo/demo.sql test.out + cmp.py -i tests/mysql2sql/test.out test.out + rm.py -f test.out [testenv:py27] commands = {[general]commands} @@ -30,12 +39,153 @@ commands = {[general]commands} [testenv:py34] commands = {[general]commands} +[testenv:py35] +commands = {[general]commands} + +[testenv:py36] +commands = {[general]commands} + +[testenv:py37] +commands = {[general]commands} + +[testenv:py38] +commands = {[general]commands} + +# PostgreSQL test environments +[postgresql] +commands = + {[testenv]commands} + -dropdb -U postgres -w test + createdb -U postgres -w test + {envpython} -m pytest --cov=sqlconvert -D postgres://postgres:@localhost/test + dropdb -U postgres -w test + +[testenv:py27-postgres] +commands = {[postgresql]commands} + +[testenv:py34-postgres] +commands = {[postgresql]commands} + +[testenv:py35-postgres] +commands = {[postgresql]commands} + +[testenv:py36-postgres] +commands = {[postgresql]commands} + +[testenv:py37-postgres] +commands = {[postgresql]commands} + +[testenv:py38-postgres] +commands = {[postgresql]commands} + +[postgres-w32] +platform = win32 +commands = + {[testenv]commands} + -dropdb -U postgres -w test + createdb -U postgres -w test + pytest --cov=sqlconvert -D "postgres://postgres:Password12!@localhost/test" + dropdb -U postgres -w test + +[testenv:py27-postgres-w32] +platform = win32 +commands = {[postgres-w32]commands} + +[testenv:py34-postgres-w32] +platform = win32 +commands = {[postgres-w32]commands} + +[testenv:py35-postgres-w32] +platform = win32 +commands = {[postgres-w32]commands} + +[testenv:py36-postgres-w32] +platform = win32 +commands = {[postgres-w32]commands} + +[testenv:py37-postgres-w32] +platform = win32 +commands = + cmd /c "copy devscripts\\CI\\validators.py {envsitepackagesdir}\\formencode\\validators.py" + {[postgres-w32]commands} + +[testenv:py38-postgres-w32] +platform = win32 +commands = + {[postgres-w32]commands} + +# SQLite test environments +[sqlite] +commands = + {[testenv]commands} + -rm.py -f /tmp/test.sqdb + {envpython} -m pytest --cov=sqlconvert -D sqlite:///tmp/test.sqdb + rm.py -f /tmp/test.sqdb + +[testenv:py27-sqlite] +commands = {[sqlite]commands} + +[testenv:py34-sqlite] +commands = {[sqlite]commands} + +[testenv:py35-sqlite] +commands = {[sqlite]commands} + +[testenv:py36-sqlite] +commands = {[sqlite]commands} + +[testenv:py37-sqlite] +commands = {[sqlite]commands} + +[testenv:py38-sqlite] +commands = {[sqlite]commands} + +[sqlite-w32] +platform = win32 +commands = + {[testenv]commands} + -rm.py -f C:/projects/sqlconvert/test.sqdb + pytest --cov=sqlconvert -D sqlite:/C:/projects/sqlconvert/test.sqdb?debug=1 + rm.py -f C:/projects/sqlconvert/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} + +[testenv:py37-sqlite-w32] +platform = win32 +commands = + cmd /c "copy validators.py {envsitepackagesdir}\\formencode\\validators.py" + {[sqlite-w32]commands} + +[testenv:py38-sqlite-w32] +platform = win32 +commands = + {[sqlite-w32]commands} + +# flake8 [testenv:py27-flake8] deps = flake8 -commands = flake8 demo scripts sqlconvert tests +commands = + {[testenv]commands} + flake8 -[testenv:py34-flake8] +[testenv:py38-flake8] deps = flake8 -commands = flake8 demo scripts sqlconvert tests +commands = + {[testenv]commands} + flake8