1[tox]
2envlist = py{310}-sqla_{cext,nocext}-db_{sqlite,postgresql,mysql,oracle,mssql}
3
4[testenv]
5deps=pytest
6     pytest-xdist
7     mock
8     db_postgresql: .[postgresql]
9     db_mysql: .[mysql]
10     db_mysql: .[pymysql]
11     db_oracle: .[oracle]
12     db_mssql: .[mssql]
13
14
15allowlist_externals=sh
16
17commands=
18    db_{mysql}: {env:BASECOMMAND} {env:MYSQL:} {posargs}
19    db_{postgresql}: {env:BASECOMMAND} {env:POSTGRESQL:} {posargs}
20    db_{sqlite}: {env:BASECOMMAND} {env:SQLITE:} {posargs}
21    db_{oracle}: {env:BASECOMMAND} {env:ORACLE:} {posargs}
22    db_{mssql}: {env:BASECOMMAND} {env:MSSQL:} {posargs}
23
24passenv=ORACLE_HOME NLS_LANG TOX_POSTGRESQL TOX_MYSQL TOX_ORACLE TOX_MSSQL TOX_SQLITE TOX_WORKERS
25
26# -E     : ignore PYTHON* environment variables (such as PYTHONPATH)
27# -s     : don't add user site directory to sys.path; also PYTHONNOUSERSITE
28setenv=
29    BASECOMMAND=python -m pytest test/aaa_profiling -x --nomemory --force-write-profiles
30    PYTHONPATH=
31    PYTHONNOUSERSITE=1
32    sqla_nocext: DISABLE_SQLALCHEMY_CEXT=1
33    sqla_cext: REQUIRE_SQLALCHEMY_CEXT=1
34    db_sqlite: SQLITE={env:TOX_SQLITE:--db sqlite}
35    db_postgresql: POSTGRESQL={env:TOX_POSTGRESQL:--db postgresql}
36    db_mysql: MYSQL={env:TOX_MYSQL:--db mysql --db pymysql}
37    db_oracle: ORACLE={env:TOX_ORACLE:--db oracle}
38    db_mssql: MSSQL={env:TOX_MSSQL:--db mssql}
39
40
41