From: Mike Bayer Date: Wed, 27 Jan 2016 22:39:48 +0000 (-0500) Subject: - experimental - try out a very open ended design for the factors, assume X-Git-Tag: rel_1_1_0b1~81^2~1 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=086ad9ce6413e73f93506523d4eb8e23710443dc;p=thirdparty%2Fsqlalchemy%2Fsqlalchemy.git - 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. --- diff --git a/tox.ini b/tox.ini index fee775625f..7db7d63c48 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