]> git.phdru.name Git - sqlconvert.git/blobdiff - tox.ini
CI(GHActions): Show `tox`/`pytest` version
[sqlconvert.git] / tox.ini
diff --git a/tox.ini b/tox.ini
index 65e5efff89eb06d861822cbfe2b668e07b12db2a..13c53c449aa4c960c7344359e17913bb468c3b50 100644 (file)
--- a/tox.ini
+++ b/tox.ini
@@ -1,6 +1,6 @@
 [tox]
-minversion = 1.8
-envlist = {py26,py27,py34,py35,py36},{py26,py27,py34,py35,py36}-{postgres,sqlite},{py27,py34}-flake8
+minversion = 3.15
+envlist = py27,py3{4,5,6,7,8,9,10}{,-sqlite},py{27,39}-flake8
 
 # Base test environment settings
 [testenv]
@@ -9,108 +9,60 @@ basepython =
     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}
+    py39: {env:TOXPYTHON:python3.9}
+    py310: {env:TOXPYTHON:python3.10}
 commands =
     {envpython} --version
     {envpython} -c "import struct; print(struct.calcsize('P') * 8)"
+    {envpython} -m pytest --version
 deps =
-    pytest
-    pytest-cov
-    py26: argparse
-    sqlparse
-    py2{6,7}: SQLObject>=2.2.1
-    py3{4,5,6}: SQLObject>=3.0.0
-    m_lib>=3.1
-    m_lib.defenc>=1.0
-    ppu
-    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
 
-[general]
+[testenv:{py27,py34,py35,py36,py37,py38,py39,py310}]
 commands =
     {[testenv]commands}
-    {envpython} -m pytest --cov=sqlconvert
+    {envpython} -m pytest
     {envpython} {envbindir}/mysql2sql -P demo/demo.sql test.out
-    {envpython} {envbindir}/cmp.py -i tests/mysql2sql/test.out test.out
-    {envpython} {envbindir}/rm.py test.out
-
-[testenv:py26]
-commands = {[general]commands}
-
-[testenv:py27]
-commands = {[general]commands}
-
-[testenv:py34]
-commands = {[general]commands}
-
-[testenv:py35]
-commands = {[general]commands}
-
-[testenv:py36]
-commands = {[general]commands}
+    cmp.py -i tests/mysql2sql/test.out test.out
+    rm.py -f test.out
 
-# PostgreSQL test environments
-[postgresql]
+[testenv:{py27,py34,py35,py36,py37,py38,py39,py310}-sqlite]
 commands =
     {[testenv]commands}
-    -dropdb test
-    createdb test
-    {envpython} -m pytest --cov=sqlconvert -D postgres:///test
-    dropdb test
-
-[testenv:py26-postgres]
-commands = {[postgresql]commands}
-
-[testenv:py27-postgres]
-commands = {[postgresql]commands}
-
-[testenv:py34-postgres]
-commands = {[postgresql]commands}
-
-[testenv:py35-postgres]
-commands = {[postgresql]commands}
-
-[testenv:py36-postgres]
-commands = {[postgresql]commands}
+    -rm.py -f /tmp/test.sqdb
+    {envpython} -m pytest -D sqlite:///tmp/test.sqdb
+    rm.py -f /tmp/test.sqdb
 
-# SQLite test environments
-[sqlite]
+[testenv:{py27,py34,py35,py36,py37,py38,py39,py310}-sqlite-w32]
+platform = win32
 commands =
     {[testenv]commands}
-    -{envpython} {envbindir}/rm.py /tmp/test.sqdb
-    {envpython} -m pytest --cov=sqlconvert -D sqlite:///tmp/test.sqdb
-    {envpython} {envbindir}/rm.py /tmp/test.sqdb
+    -rm.py -f {env:TEMP}/test.sqdb
+    pytest -D sqlite:/{env:TEMP}/test.sqdb?debug=1
+    rm.py -f {env:TEMP}/test.sqdb
 
-[testenv:py26-sqlite]
-commands = {[sqlite]commands}
-
-[testenv:py27-sqlite]
-commands = {[sqlite]commands}
-
-[testenv:py34-sqlite]
-commands = {[sqlite]commands}
-
-[testenv:py35-sqlite]
-commands = {[sqlite]commands}
-
-[testenv:py36-sqlite]
-commands = {[sqlite]commands}
-
-# flake8
-[testenv:py27-flake8]
-deps =
-    flake8
+[testenv:{py27,py34,py35,py36,py37,py38,py39,py310}-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:{py27,py34,py35,py36,py37,py38,py39,py310}-flake8]
 deps =
     flake8
+    pytest < 7.0
 commands =
     {[testenv]commands}
     flake8