[tox] Generate test environments for Python 2.7 and 3.4
Test commands for each environment are written down explicitly since I could
not find a way to extract the "package" name (e.g. "hooks") from the
environment name (e.g. "py34-hooks").
For Python 3.4 interpreter, only environments (subpackages) that do not depend
on cubes for their tests are listed since those test dependency cubes are not
yet installable with Python 3.x. etwist is also not included since the Python
3 port is not complete at the moment.
From local testing, py34 tests pass for the following subpackages:
- dataimport
- entities
- ext
- hooks
- wsgi
--- a/tox.ini Tue Jan 26 18:04:00 2016 +0100
+++ b/tox.ini Tue Dec 22 09:23:00 2015 +0100
@@ -1,5 +1,7 @@
[tox]
-envlist = cubicweb,dataimport,devtools,entities,etwist,ext,hooks,server,sobjects,web,wsgi
+envlist =
+ py27-{cubicweb,dataimport,devtools,entities,etwist,ext,hooks,server,sobjects,web,wsgi},
+ py34-{dataimport,devtools,entities,ext,hooks,wsgi}
[testenv]
usedevelop = True
@@ -16,12 +18,18 @@
web: -r{toxinidir}/cubicweb/web/test/requirements.txt
wsgi: -r{toxinidir}/cubicweb/wsgi/test/requirements.txt
commands =
- {envpython} -c 'from logilab.common import pytest; pytest.run()' -t {toxinidir}/cubicweb/{envname}/test {posargs}
-
-[testenv:cubicweb]
-commands =
- {envpython} -m pip install --upgrade --no-deps --quiet git+git://github.com/logilab/yapps@master#egg=yapps
- {envpython} -c 'from logilab.common import pytest; pytest.run()' -t {toxinidir}/cubicweb/test {posargs}
+ cubicweb: {envpython} -m pip install --upgrade --no-deps --quiet git+git://github.com/logilab/yapps@master#egg=yapps
+ cubicweb: {envpython} -c 'from logilab.common import pytest; pytest.run()' -t {toxinidir}/cubicweb/test {posargs}
+ dataimport: {envpython} -c 'from logilab.common import pytest; pytest.run()' -t {toxinidir}/cubicweb/dataimport/test {posargs}
+ devtools: {envpython} -c 'from logilab.common import pytest; pytest.run()' -t {toxinidir}/cubicweb/devtools/test {posargs}
+ entities: {envpython} -c 'from logilab.common import pytest; pytest.run()' -t {toxinidir}/cubicweb/entities/test {posargs}
+ etwist: {envpython} -c 'from logilab.common import pytest; pytest.run()' -t {toxinidir}/cubicweb/etwist/test {posargs}
+ ext: {envpython} -c 'from logilab.common import pytest; pytest.run()' -t {toxinidir}/cubicweb/ext/test {posargs}
+ hooks: {envpython} -c 'from logilab.common import pytest; pytest.run()' -t {toxinidir}/cubicweb/hooks/test {posargs}
+ server: {envpython} -c 'from logilab.common import pytest; pytest.run()' -t {toxinidir}/cubicweb/server/test {posargs}
+ sobjects: {envpython} -c 'from logilab.common import pytest; pytest.run()' -t {toxinidir}/cubicweb/sobjects/test {posargs}
+ web: {envpython} -c 'from logilab.common import pytest; pytest.run()' -t {toxinidir}/cubicweb/web/test {posargs}
+ wsgi: {envpython} -c 'from logilab.common import pytest; pytest.run()' -t {toxinidir}/cubicweb/wsgi/test {posargs}
[testenv:doc]
changedir = doc