Handle virtualenv development mode
Looking for VIRTUAL_ENV environment variable as a sign of virtualenv
activation. This at least works for developing CubicWeb itself (not sure yet
about cubes). And it makes `tox --develop` work as well.
Add a test for cwconfig._find_prefix within a virtualenv.
In tox.ini, use `develop option`_ accordingly. This makes tox running
significantly faster since it avoids building and installing the sdist. Aside,
the "develop" install is now performed *after* all test requirements are
processed, which means that the cubicweb package should always be the one from
source -- instead of a released version pulled by a cube through test
dependencies, which may occur in "recreate" step.
.. _`develop option`: <http://tox.readthedocs.org/en/latest/config.html#confval-usedevelop=BOOL
[tox]
envlist = cubicweb,dataimport,devtools,entities,etwist,ext,hooks,server,sobjects,web,wsgi
[testenv]
usedevelop = True
sitepackages = True
deps =
cubicweb: -r{toxinidir}/cubicweb/test/requirements.txt
devtools: -r{toxinidir}/cubicweb/devtools/test/requirements.txt
entities: -r{toxinidir}/cubicweb/entities/test/requirements.txt
etwist: -r{toxinidir}/cubicweb/etwist/test/requirements.txt
ext: -r{toxinidir}/cubicweb/ext/test/requirements.txt
hooks: -r{toxinidir}/cubicweb/hooks/test/requirements.txt
server: -r{toxinidir}/cubicweb/server/test/requirements.txt
sobjects: -r{toxinidir}/cubicweb/sobjects/test/requirements.txt
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}
[testenv:doc]
changedir = doc
whitelist_externals =
sphinx-build
deps =
sphinx
commands = sphinx-build -b html -d {envtmpdir}/doctrees . {envtmpdir}/html