# run from ./ or from ../
: ${MGR_DASHBOARD_VIRTUALENV:=/tmp/mgr-dashboard-virtualenv}
+: ${WITH_PYTHON2:=ON}
: ${WITH_PYTHON3:=ON}
+: ${CEPH_BUILD_DIR:=$PWD/.tox}
test -d dashboard && cd dashboard
if [ -e tox.ini ]; then
source ${MGR_DASHBOARD_VIRTUALENV}/bin/activate
+if [ "$WITH_PYTHON2" = "ON" ]; then
+ ENV_LIST+="py27-cov,py27-lint,"
+fi
if [ "$WITH_PYTHON3" = "ON" ]; then
- ENV_LIST="cov-init,py27,py3,cov-report,lint"
-else
- ENV_LIST="cov-init,py27,cov-report,lint"
+ ENV_LIST+="py3-cov,py3-lint"
fi
-tox -c ${TOX_PATH} -e $ENV_LIST
-
+tox -c ${TOX_PATH} -e $ENV_LIST --workdir ${CEPH_BUILD_DIR}
[tox]
-envlist = cov-init,py27,py3,cov-report,lint
+envlist = {py27,py3}-cov,{py27,py3}-lint
skipsdist = true
[testenv]
-deps=-r{toxinidir}/requirements.txt
+deps =
+ -r{toxinidir}/requirements.txt
setenv=
- UNITTEST=true
- WEBTEST_INTERACTIVE=false
- COVERAGE_FILE= .coverage.{envname}
- PYTHONPATH = {toxinidir}/../../../../build/lib/cython_modules/lib.3:{toxinidir}/../../../../build/lib/cython_modules/lib.2
+ UNITTEST = true
+ WEBTEST_INTERACTIVE = false
LD_LIBRARY_PATH = {toxinidir}/../../../../build/lib
PATH = {toxinidir}/../../../../build/bin:$PATH
+ py27: PYTHONPATH = {toxinidir}/../../../../build/lib/cython_modules/lib.2
+ py3: PYTHONPATH = {toxinidir}/../../../../build/lib/cython_modules/lib.3
+ cov: UNITTEST = true
+ cov: COVERAGE_FILE = .coverage.{envname}
commands=
- {envbindir}/py.test --cov=. --cov-report= --junitxml=junit.{envname}.xml --doctest-modules controllers/rbd.py services/ tools.py tests/
-
-[testenv:cov-init]
-setenv =
- COVERAGE_FILE = .coverage
-deps = coverage
-commands =
- coverage erase
-
-[testenv:cov-report]
-setenv =
- COVERAGE_FILE = .coverage
-deps = coverage
-commands =
- coverage combine
- coverage report
- coverage xml
-
-[testenv:lint]
-setenv =
- PYTHONPATH = {toxinidir}/../../../../build/lib/cython_modules/lib.3:{toxinidir}/../../../../build/lib/cython_modules/lib.2
- LD_LIBRARY_PATH = {toxinidir}/../../../../build/lib
-deps=-r{toxinidir}/requirements.txt
-commands=
- pylint --rcfile=.pylintrc --jobs=5 . module.py tools.py controllers tests services
- pycodestyle --max-line-length=100 --exclude=python2.7,.tox,venv,frontend,awsauth.py --ignore=E402,E121,E123,E126,E226,E24,E704,W503 .
+ cov: coverage erase
+ cov: {envbindir}/py.test --cov=. --cov-report= --junitxml=junit.{envname}.xml --doctest-modules controllers/rbd.py services/ tests/ tools.py
+ cov: coverage combine {toxinidir}/{env:COVERAGE_FILE}
+ cov: coverage report
+ cov: coverage xml
+ lint: pylint --rcfile=.pylintrc --jobs=5 . module.py tools.py controllers tests services
+ lint: pycodestyle --max-line-length=100 --exclude=.tox,venv,frontend --ignore=E402,E121,E123,E126,E226,E24,E704,W503 .