X-Git-Url: https://git.phdru.name/?p=sqlconvert.git;a=blobdiff_plain;f=tox.ini;h=6c70363161da7e799313abfdca9f5ad07611761c;hp=229abb742cedf5ebbcbbbee593473f032cd4f797;hb=e9f85fca5b1c946091bc6aaf7f25d6ae8df6625d;hpb=d2badb1547aaf53057acbd9b02b81e1dc385f8ec diff --git a/tox.ini b/tox.ini index 229abb7..6c70363 100644 --- a/tox.ini +++ b/tox.ini @@ -1,55 +1,70 @@ [tox] -minversion = 1.8 -toxworkdir={homedir}/.tox/sqlconvert -envlist = {py26,py27,py34},{py26,py27,py34}-{postgres,sqlite},{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: SQLObject>=2.2.1 - py34: SQLObject>=3.0.0 - py26,py27: m_lib>=2.0 - py34: m_lib>=3.0 - postgres: psycopg2 -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 + cmd createdb dropdb - cmp - rm [general] commands = - python -m pytest --cov=sqlconvert - mysql2sql demo/demo.sql test.out - cmp -s tests/mysql2sql/test.out test.out - rm test.out - -[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] +platform = linux|win32 commands = {[general]commands} [testenv:py34] +platform = linux|win32 +commands = {[general]commands} + +[testenv:py35] +platform = linux|win32 +commands = {[general]commands} + +[testenv:py36] +platform = linux|win32 +commands = {[general]commands} + +[testenv:py37] +platform = linux|win32 +commands = {[general]commands} + +[testenv:py38] +platform = linux|win32 commands = {[general]commands} # PostgreSQL test environments [postgresql] commands = - -dropdb test - createdb test - python -m pytest --cov=sqlconvert -D postgres:///test - dropdb test - -[testenv:py26-postgres] -commands = {[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} @@ -57,14 +72,61 @@ 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 = - python -m pytest --cov=sqlconvert -D sqlite:///tmp/test.sqdb - rm -f /tmp/test.sqdb - -[testenv:py26-sqlite] -commands = {[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} @@ -72,13 +134,66 @@ 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 devscripts\\CI\\validators.py {envsitepackagesdir}\\formencode\\validators.py" + {[sqlite-w32]commands} + +[testenv:py38-sqlite-w32] +platform = win32 +commands = + {[sqlite-w32]commands} + # flake8 [testenv:py27-flake8] +platform = linux|win32 deps = flake8 -commands = flake8 +commands = + {[testenv]commands} + flake8 -[testenv:py34-flake8] +[testenv:py38-flake8] +platform = linux|win32 deps = flake8 -commands = flake8 +commands = + {[testenv]commands} + flake8