summaryrefslogtreecommitdiff
path: root/tox.ini
diff options
context:
space:
mode:
authorMike Bayer <mike_mp@zzzcomputing.com>2016-01-27 17:39:48 -0500
committerMike Bayer <mike_mp@zzzcomputing.com>2016-01-27 17:39:48 -0500
commit086ad9ce6413e73f93506523d4eb8e23710443dc (patch)
tree83e8369c3aff89e436f4220ab6b3d18150515638 /tox.ini
parent516a442f233d90eb7b8bb844e2dea7865bb21f66 (diff)
downloadsqlalchemy-086ad9ce6413e73f93506523d4eb8e23710443dc.tar.gz
- experimental - try out a very open ended design for the factors, assume
many more combinations of factors are possible and basically make them more akin to command options at the tox level.
Diffstat (limited to 'tox.ini')
-rw-r--r--tox.ini41
1 files changed, 15 insertions, 26 deletions
diff --git a/tox.ini b/tox.ini
index fee775625..7db7d63c4 100644
--- a/tox.ini
+++ b/tox.ini
@@ -1,10 +1,6 @@
[tox]
-envlist =
- py{26,27,34,35}-{cext,nocext}-{default,sqlitepg,mysql,oracle,mssql},
- py27-nocext-cov,
- py27-cext-cov,
- py35-nocext-cov
+envlist = py{26,27,34,35}-{cext,nocext}
[testenv]
# note that we have a .coveragerc file that points coverage specifically
@@ -14,20 +10,19 @@ envlist =
# Jenkins etc. need to call "coverage erase" externally.
cov_args=--cov=sqlalchemy --cov-report term --cov-append --cov-report xml --exclude-tag memory-intensive --exclude-tag timing-intensive -k "not aaa_profiling"
-usedevelop={env:USEDEVELOP}
+usedevelop=
+ cov: True
deps=pytest
pytest-xdist
mock
- sqlitepg: .[postgresql]
+ postgresql: .[postgresql]
mysql: .[mysql]
mysql: .[pymysql]
oracle: .[oracle]
mssql: .[pyodbc]
mssql: .[pymssql]
cov: pytest-cov
- cov: .[mysql]
- cov: .[postgresql]
whitelist_externals=sh
@@ -42,20 +37,19 @@ whitelist_externals=sh
# BASECOMMAND - using an env variable here so we can use it
# as a substitution in a command (see https://bitbucket.org/hpk42/tox/issues/307/)
#
-# USEDEVELOP - also an env variable because we can't otherwise use a factor
-# to control the value of the "usedevelop" setting (should also be a tox bug)
-# We want develop=True when coverage is in play, because coverage is
-# always against the files physically in ./lib. We are doing an aggregate
-# of coverage into one file across multiple test runs.
-#
setenv=
PYTHONPATH=
PYTHONNOUSERSITE=1
- USEDEVELOP=False
- nocext: DISABLE_SQLALCHEMY_CEXT=1
BASECOMMAND=python -m pytest -n4 --dropfirst
- cov: BASECOMMAND=python -m pytest -n4 --dropfirst {[testenv]cov_args}
- cov: USEDEVELOP=True
+
+ nocext: DISABLE_SQLALCHEMY_CEXT=1
+ cov: COVERAGE={[testenv]cov_args}
+ sqlite: SQLITE=--db sqlite
+ postgresql: POSTGRESQL=--db postgresql
+ mysql: MYSQL=--db mysql --db pymysql
+ oracle: ORACLE=--db oracle
+ mssql: MSSQL=--db pyodbc --db pymssql
+ backendonly: BACKENDONLY=--backend-only
# tox as of 2.0 blocks all environment variables from the
# outside, unless they are here (or in TOX_TESTENV_PASSENV,
@@ -64,13 +58,8 @@ passenv=ORACLE_HOME NLS_LANG
# for nocext, we rm *.so in lib in case we are doing usedevelop=True
commands=
- nocext: sh -c "rm -f lib/sqlalchemy/*.so"
- default: {env:BASECOMMAND} {posargs}
- sqlitepg: {env:BASECOMMAND} --db sqlite --db postgresql {posargs}
- mysql: {env:BASECOMMAND} --db mysql --db pymysql {posargs}
- oracle: {env:BASECOMMAND} --db oracle {posargs}
- mssql: {env:BASECOMMAND} --db pyodbc --db pymssql {posargs}
- cov: {env:BASECOMMAND} --db sqlite --db postgresql --db mysql {posargs}
+ {nocext}: sh -c "rm -f lib/sqlalchemy/*.so"
+ {env:BASECOMMAND} {env:SQLITE:} {env:POSTGRESQL:} {env:MYSQL:} {env:ORACLE:} {env:MSSQL:} {env:BACKENDONLY:} {env:COVERAGE:} {posargs}
[testenv:pep8]
deps=flake8