xref: /sqlalchemy/tox.ini (revision d100bfcf)
16b051503SMike Bayer
29281e700SMike Bayer[tox]
3d100bfcfSMike Bayerenvlist =
4d100bfcfSMike Bayer  py{26,27,34,35}-{cext,nocext}-{default,sqlitepg,mysql,oracle,mssql},
5d100bfcfSMike Bayer  py27-nocext-cov,
6d100bfcfSMike Bayer  py27-cext-cov,
7d100bfcfSMike Bayer  py35-nocext-cov
89281e700SMike Bayer
99281e700SMike Bayer[testenv]
10d100bfcfSMike Bayercov_args=--cov=sqlalchemy --cov-report term --cov-report xml --exclude-tag memory-intensive --exclude-tag timing-intensive -k "not aaa_profiling"
11d100bfcfSMike Bayer
129281e700SMike Bayerdeps=pytest
136b051503SMike Bayer     pytest-xdist
149281e700SMike Bayer     mock
15d100bfcfSMike Bayer     sqlitepg: .[postgresql]
16d100bfcfSMike Bayer     mysql: .[mysql]
17d100bfcfSMike Bayer     mysql: .[pymysql]
18d100bfcfSMike Bayer     oracle: .[oracle]
19d100bfcfSMike Bayer     mssql: .[pyodbc]
20d100bfcfSMike Bayer     mssql: .[pymssql]
21d100bfcfSMike Bayer     cov: pytest-cov
22d100bfcfSMike Bayer     cov: .[mysql]
23d100bfcfSMike Bayer     cov: .[postgresql]
249281e700SMike Bayer
25f30e35baSMike Bayer# -E     : ignore PYTHON* environment variables (such as PYTHONPATH)
26f30e35baSMike Bayer# -s     : don't add user site directory to sys.path; also PYTHONNOUSERSITE
27f30e35baSMike Bayer# the latter is picked up by conftest.py
28d100bfcfSMike Bayer# BASECOMMAND: we can't do section subtitutions in commands
29d100bfcfSMike Bayer# (see https://bitbucket.org/hpk42/tox/issues/307/)
30f30e35baSMike Bayersetenv=
31f30e35baSMike Bayer    PYTHONPATH=
32f30e35baSMike Bayer    PYTHONNOUSERSITE=1
330ad55992SMike Bayer    nocext: DISABLE_SQLALCHEMY_CEXT=1
34d100bfcfSMike Bayer    BASECOMMAND=python -m pytest -n4 --dropfirst
35d100bfcfSMike Bayer    cov: BASECOMMAND=python -m pytest -n4 --dropfirst {[testenv]cov_args}
36f30e35baSMike Bayer
377f423e87SMike Bayer# tox as of 2.0 blocks all environment variables from the
387f423e87SMike Bayer# outside, unless they are here (or in TOX_TESTENV_PASSENV,
39077f26afSMike Bayer# wildcards OK).  Need at least these
40077f26afSMike Bayerpassenv=ORACLE_HOME NLS_LANG
417f423e87SMike Bayer
429281e700SMike Bayercommands=
43d100bfcfSMike Bayer  default: {env:BASECOMMAND} {posargs}
44d100bfcfSMike Bayer  sqlitepg: {env:BASECOMMAND} --db sqlite --db postgresql {posargs}
45d100bfcfSMike Bayer  mysql: {env:BASECOMMAND} --db mysql --db pymysql {posargs}
46d100bfcfSMike Bayer  oracle: {env:BASECOMMAND} --db oracle {posargs}
47d100bfcfSMike Bayer  mssql: {env:BASECOMMAND} --db pyodbc --db pymssql {posargs}
48d100bfcfSMike Bayer  cov: {env:BASECOMMAND} --db sqlite --db postgresql --db mysql {posargs}
499281e700SMike Bayer
509281e700SMike Bayer[testenv:pep8]
511217d6ceSMike Bayerdeps=flake8
5230ab1a02SMike Bayercommands = python -m flake8 {posargs}
539281e700SMike Bayer
549281e700SMike Bayer
559281e700SMike Bayer[flake8]
569281e700SMike Bayershow-source = True
572743b674SMike Bayerignore = E711,E712,E721,N806
589281e700SMike Bayerexclude=.venv,.git,.tox,dist,doc,*egg,build
599281e700SMike Bayer
60