[tox]
-minversion = 2.0
-envlist = {py27,py34,py35,py36},{py27,py34,py35,py36}-{postgres,postgres-w32,sqlite,sqlite-w32},{py27,py34}-flake8
+minversion = 3.15
+envlist = py27,py3{4,5,6,7,8,9,10,11}{,-sqlite},py{27,36,311}-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}
commands =
{envpython} --version
{envpython} -c "import struct; print(struct.calcsize('P') * 8)"
+ {envpython} -m pytest --version
deps =
-rdevscripts/requirements/requirements_tests.txt
- postgres: psycopg2
+ postgres: psycopg2-binary
passenv = PGPASSWORD
-platform = linux
+platform = linux|win32
# Don't fail or warn on uninstalled commands
whitelist_externals =
createdb
dropdb
- flake8
- cmp.py
- rm.py
-[general]
+[testenv:py{27,34,35,36,37,38,39,310,311}]
commands =
{[testenv]commands}
- {envpython} -m pytest --cov=sqlconvert
+ {envpython} -m pytest
{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}
-
-[testenv:py34]
-commands = {[general]commands}
-
-[testenv:py35]
-commands = {[general]commands}
-
-[testenv:py36]
-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}
-
-[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}
-
-# SQLite test environments
-[sqlite]
+[testenv:py{27,34,35,36,37,38,39,310,311}-sqlite]
commands =
{[testenv]commands}
-rm.py -f /tmp/test.sqdb
- {envpython} -m pytest --cov=sqlconvert -D sqlite:///tmp/test.sqdb
+ {envpython} -m pytest -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}
-
-[sqlite-w32]
+[testenv:py{27,34,35,36,37,38,39,310,311}-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}
+ -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-w32]
-platform = win32
-commands = {[sqlite-w32]commands}
-
-[testenv:py35-sqlite-w32]
-platform = win32
-commands = {[sqlite-w32]commands}
-
-# flake8
-[testenv:py27-flake8]
-deps =
- flake8
+[testenv:py{27,34,35,36,37,38,39,310,311}-postgres{,-w32}]
commands =
{[testenv]commands}
- flake8
+ -dropdb --username=runner test
+ createdb --username=runner test
+ {envpython} -m pytest -D postgres://runner:test@localhost/test
+ dropdb --username=runner test
-[testenv:py34-flake8]
+# flake8
+[testenv:py{27,34,35,36,37,38,39,310,311}-flake8]
deps =
flake8
+ pytest < 7.0
commands =
{[testenv]commands}
flake8