]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
mgr/dashboard: create venv for running tox 21490/head
authorKefu Chai <kchai@redhat.com>
Wed, 18 Apr 2018 08:20:29 +0000 (16:20 +0800)
committerKefu Chai <kchai@redhat.com>
Thu, 19 Apr 2018 04:11:59 +0000 (12:11 +0800)
the tox shipped with centos is 1.4.2, and is way too old. it does not
allow us to define the dependency using generative-envlist.

Signed-off-by: Kefu Chai <kchai@redhat.com>
src/pybind/mgr/dashboard/CMakeLists.txt
src/pybind/mgr/dashboard/requirements.txt
src/pybind/mgr/dashboard/run-tox.sh
src/pybind/mgr/dashboard/tox.ini
src/test/CMakeLists.txt

index 2c558a20dc5165b18de54beaea4735243d628d85..5bdc8a3ed9358cda0c6ce5771b85fb3c97eb4c3b 100644 (file)
@@ -1,3 +1,12 @@
+set(MGR_DASHBOARD_VIRTUALENV ${CEPH_BUILD_VIRTUALENV}/mgr-dashboard-virtualenv)
+
+add_custom_target(mgr-dashboard-test-venv
+  COMMAND
+  ${CMAKE_SOURCE_DIR}/src/tools/setup-virtualenv.sh ${MGR_DASHBOARD_VIRTUALENV}
+  WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}/src/pybind/mgr/dashboard
+  COMMENT "dashboard tests virtualenv is being created")
+add_dependencies(tests mgr-dashboard-test-venv)
+
 if(WITH_MGR_DASHBOARD_FRONTEND AND NOT CMAKE_SYSTEM_PROCESSOR MATCHES "aarch64|AARCH64|arm|ARM")
 
 set(mgr-dashboard-nodeenv ${CMAKE_CURRENT_BINARY_DIR}/node-env)
index b62aa4bb2d1c7c9fe03f82d306a8e1fd1900d370..fc623ade316dd08daca481aff15f374c685df338 100644 (file)
@@ -28,5 +28,6 @@ Routes==2.4.1
 singledispatch==3.4.0.3
 six==1.11.0
 tempora==1.10
+tox==2.9.1
 virtualenv==15.1.0
 wrapt==1.10.11
index 98b49ad6a885041272b93ca3ae4219304cd848a1..b43e273679f9fa7585d0aa2d11cc6dc95249c124 100755 (executable)
@@ -13,8 +13,12 @@ else
     TOX_PATH=`readlink -f $(dirname $0)/tox.ini`
 fi
 
+# tox.ini will take care of this.
+unset PYTHONPATH
 export CEPH_BUILD_DIR=$CEPH_BUILD_DIR
 
+source ${MGR_DASHBOARD_VIRTUALENV}/bin/activate
+
 if [ "$WITH_PYTHON2" = "ON" ]; then
   ENV_LIST+="py27-cov,py27-lint,"
 fi
index 6da0364a6115477a495e7e5f541d3ee3ec4e2074..dc64379f13226441c3e8871c07bea963007e68a3 100644 (file)
@@ -2,6 +2,7 @@
 envlist = {py27,py3}-cov,{py27,py3}-lint
 skipsdist = true
 toxworkdir = {env:CEPH_BUILD_DIR}
+minversion = 2.8.1
 
 [testenv]
 deps =
@@ -14,10 +15,11 @@ setenv=
     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=
     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}/.coverage
+    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
index ecf2f962d89616c44a72a105920e69082709a0b8..cbbb158335d2a5b9cb69194b058a8fc490660f6e 100644 (file)
@@ -584,6 +584,9 @@ endif(WITH_MGR)
 
 set(CEPH_DISK_VIRTUALENV ${CEPH_BUILD_VIRTUALENV}/ceph-disk-virtualenv)
 set(CEPH_DETECT_INIT_VIRTUALENV ${CEPH_BUILD_VIRTUALENV}/ceph-detect-init-virtualenv)
+if(WITH_MGR)
+  set(MGR_DASHBOARD_VIRTUALENV ${CEPH_BUILD_VIRTUALENV}/mgr-dashboard-virtualenv)
+endif()
 
 set_property(TEST 
   run-tox-ceph-disk
@@ -597,6 +600,7 @@ set_property(TEST
   CEPH_BUILD_VIRTUALENV=${CEPH_BUILD_VIRTUALENV}
   CEPH_DISK_VIRTUALENV=${CEPH_DISK_VIRTUALENV}
   CEPH_DETECT_INIT_VIRTUALENV=${CEPH_DETECT_INIT_VIRTUALENV}
+  MGR_DASHBOARD_VIRTUALENV=${MGR_DASHBOARD_VIRTUALENV}
   LD_LIBRARY_PATH=${CMAKE_BINARY_DIR}/lib
   PATH=$ENV{PATH}:${CMAKE_RUNTIME_OUTPUT_DIRECTORY}:${CMAKE_SOURCE_DIR}/src
   PYTHONPATH=${CMAKE_SOURCE_DIR}/src/pybind