[tox]
-minversion = 1.8
-envlist = {py26,py27,py34},{py26,py27,py34}-{postgres,sqlite},{py27,py34}-flake8
+minversion = 3.15
+envlist = py27,py3{4,5,6,7,8,9,10,11}{,-m2s,-sqlite},py{27,36,311}-flake8
# Base test environment settings
[testenv]
+commands =
+ {envpython} --version
+ {envpython} -c "import struct; print(struct.calcsize('P') * 8)"
+ {envpython} -m pytest --version
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|win32
# Don't fail or warn on uninstalled commands
whitelist_externals =
- flake8
createdb
dropdb
- rm
-[general]
+[testenv:py{27,34,35,36,37,38,39,310,311}]
commands =
- python -m pytest --cov=sqlconvert
-
-[testenv:py26]
-commands = {[general]commands}
-
-[testenv:py27]
-commands = {[general]commands}
+ {[testenv]commands}
+ {envpython} -m pytest
-[testenv:py34]
-commands = {[general]commands}
-
-# PostgreSQL test environments
-[postgresql]
+[testenv:py{27,34}-m2s]
commands =
- createdb test
- python -m pytest --cov=sqlconvert -D postgres:///test
- dropdb test
-
-[testenv:py26-postgres]
-commands = {[postgresql]commands}
-
-[testenv:py27-postgres]
-commands = {[postgresql]commands}
+ {[testenv]commands}
+ {envpython} {envbindir}/mysql2sql -P demo/demo.sql test.out
+ cmp.py -i tests/mysql2sql/test.out2 test.out
+ rm.py -f test.out
-[testenv:py34-postgres]
-commands = {[postgresql]commands}
-
-# SQLite test environments
-[sqlite]
+[testenv:py{35,36,37,38,39,310,311}-m2s]
commands =
- python -m pytest --cov=sqlconvert -D sqlite:///tmp/test.sqdb
- rm -f /tmp/test.sqdb
+ {[testenv]commands}
+ {envpython} {envbindir}/mysql2sql -P demo/demo.sql test.out
+ cmp.py -i tests/mysql2sql/test.out3 test.out
+ rm.py -f test.out
-[testenv:py26-sqlite]
-commands = {[sqlite]commands}
+[testenv:py{27,34,35,36,37,38,39,310,311}-sqlite]
+commands =
+ {[testenv]commands}
+ -rm.py -f /tmp/test.sqdb
+ {envpython} -m pytest -D sqlite:///tmp/test.sqdb
+ rm.py -f /tmp/test.sqdb
-[testenv:py27-sqlite]
-commands = {[sqlite]commands}
+[testenv:py{27,34,35,36,37,38,39,310,311}-sqlite-w32]
+platform = win32
+commands =
+ {[testenv]commands}
+ -rm.py -f {env:TEMP}/test.sqdb
+ pytest -D sqlite:/{env:TEMP}/test.sqdb?debug=1
+ rm.py -f {env:TEMP}/test.sqdb
-[testenv:py34-sqlite]
-commands = {[sqlite]commands}
+[testenv:py{27,34,35,36,37,38,39,310,311}-postgres{,-w32}]
+commands =
+ {[testenv]commands}
+ -dropdb --username=runner test
+ createdb --username=runner test
+ {envpython} -m pytest -D postgres://runner:test@localhost/test
+ dropdb --username=runner test
# flake8
-[testenv:py27-flake8]
+[testenv:py{27,34,35,36,37,38,39,310,311}-flake8]
deps =
flake8
-commands = flake8
-
-[testenv:py34-flake8]
-deps =
+ pytest < 7.0
+commands =
+ {[testenv]commands}
flake8
-commands = flake8