X-Git-Url: https://git.phdru.name/?p=sqlconvert.git;a=blobdiff_plain;f=tox.ini;h=78de300d5adf462e62ec4e644b9d870291c6ab57;hp=e634cdfe660e584196d0a080a0926823152d3419;hb=7f200e601d03cf794c5a0504a2f69da3cf1d531a;hpb=26ca2f53d8fe333bb2448ea412e82be415cb3fd2 diff --git a/tox.ini b/tox.ini index e634cdf..78de300 100644 --- a/tox.ini +++ b/tox.ini @@ -1,33 +1,36 @@ [tox] -minversion = 1.8 -envlist = {py26,py27,py34},{py26,py27,py34}-{postgres,sqlite},{py27,py34}-flake8 +minversion = 2.0 +envlist = py{27,34,35,36,37}{,-sqlite},py{27,37}-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} +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 - rm [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} @@ -35,15 +38,23 @@ commands = {[general]commands} [testenv:py34] commands = {[general]commands} +[testenv:py35] +commands = {[general]commands} + +[testenv:py36] +commands = {[general]commands} + +[testenv:py37] +commands = {[general]commands} + # PostgreSQL test environments [postgresql] commands = - createdb test - python -m pytest -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} @@ -51,14 +62,53 @@ 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} + +[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} + # SQLite test environments [sqlite] commands = - python -m pytest -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} @@ -66,13 +116,56 @@ 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} + +[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} + # flake8 [testenv:py27-flake8] deps = flake8 -commands = flake8 +commands = + {[testenv]commands} + flake8 -[testenv:py34-flake8] +[testenv:py37-flake8] deps = flake8 -commands = flake8 +commands = + {[testenv]commands} + flake8