]> git.phdru.name Git - sqlconvert.git/blobdiff - tox.ini
Build(GHActions): Use `checkout@v4` instead of outdated `v2`
[sqlconvert.git] / tox.ini
diff --git a/tox.ini b/tox.ini
index a185a37bef77eb9213da845d999cee7809b770c2..b726b45888cd78a2f07ff82fa5de20c9078235d9 100644 (file)
--- a/tox.ini
+++ b/tox.ini
 [tox]
-minversion = 2.0
-envlist = py{27,34,35,36,37}{,-sqlite},py{27,37}-flake8
+minversion = 3.15
+envlist = py27,py3{4,5,6,7,8,9,10,11,12}{,-m2s,-sqlite},py{27,36,312}-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)"
+    {envpython} -m pytest --version
 deps =
     -rdevscripts/requirements/requirements_tests.txt
     postgres: psycopg2-binary
 passenv = PGPASSWORD
-platform = linux
+platform = linux|win32
 # Don't fail or warn on uninstalled commands
 whitelist_externals =
-    cmd
     createdb
     dropdb
 
-[general]
+[testenv:py{27,34,35,36,37,38,39,310,311,312}]
 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}
-
-[testenv:py34]
-commands = {[general]commands}
-
-[testenv:py35]
-commands = {[general]commands}
-
-[testenv:py36]
-commands = {[general]commands}
-
-[testenv:py37]
-commands = {[general]commands}
+    {envpython} -m pytest
 
-# PostgreSQL test environments
-[postgresql]
+[testenv:py{27,34}-m2s]
 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}
+    {envpython} {envbindir}/mysql2sql -P demo/demo.sql test.out
+    cmp.py -i tests/mysql2sql/test.out2 test.out
+    rm.py -f test.out
 
-[postgres-w32]
-platform = win32
+[testenv:py{35,36,37,38,39,310,311,312}-m2s]
 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 validators.py {envsitepackagesdir}\\formencode\\validators.py"
-    {[postgres-w32]commands}
+    {envpython} {envbindir}/mysql2sql -P demo/demo.sql test.out
+    cmp.py -i tests/mysql2sql/test.out3 test.out
+    rm.py -f test.out
 
-# SQLite test environments
-[sqlite]
+[testenv:py{27,34,35,36,37,38,39,310,311,312}-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}
-
-[testenv:py37-sqlite]
-commands = {[sqlite]commands}
-
-[sqlite-w32]
+[testenv:py{27,34,35,36,37,38,39,310,311,312}-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}
+    -rm.py -f {env:TEMP}/test.sqdb
+    pytest -D sqlite:/{env:TEMP}/test.sqdb?debug=1
+    rm.py -f {env:TEMP}/test.sqdb
 
-[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
+[testenv:py{27,34,35,36,37,38,39,310,311,312}-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:py37-flake8]
+# flake8
+[testenv:py{27,34,35,36,37,38,39,310,311,312}-flake8]
 deps =
     flake8
+    pytest < 7.0
 commands =
     {[testenv]commands}
     flake8