[tox] minversion = 1.8 envlist = py{35,27}-{postgresql,mysql}{,-file,-swift,-ceph,-s3},pep8,bashate,py35-postgresql-file-upgrade-from-2.2,py27-mysql-ceph-upgrade-from-2.2 [testenv] usedevelop = True sitepackages = False passenv = LANG OS_DEBUG OS_TEST_TIMEOUT OS_STDOUT_CAPTURE OS_STDERR_CAPTURE OS_LOG_CAPTURE GNOCCHI_TEST_* AWS_* setenv = GNOCCHI_TEST_STORAGE_DRIVER=file GNOCCHI_TEST_INDEXER_DRIVER=postgresql GNOCCHI_TEST_STORAGE_DRIVERS=file swift ceph s3 GNOCCHI_TEST_INDEXER_DRIVERS=postgresql mysql file: GNOCCHI_TEST_STORAGE_DRIVERS=file swift: GNOCCHI_TEST_STORAGE_DRIVERS=swift ceph: GNOCCHI_TEST_STORAGE_DRIVERS=ceph s3: GNOCCHI_TEST_STORAGE_DRIVERS=s3 postgresql: GNOCCHI_TEST_INDEXER_DRIVERS=postgresql mysql: GNOCCHI_TEST_INDEXER_DRIVERS=mysql GNOCCHI_STORAGE_DEPS=file,swift,s3,ceph,ceph_recommended_lib ceph: GNOCCHI_STORAGE_DEPS=ceph,ceph_recommended_lib swift: GNOCCHI_STORAGE_DEPS=swift file: GNOCCHI_STORAGE_DEPS=file s3: GNOCCHI_STORAGE_DEPS=s3 deps = .[test] postgresql: .[postgresql,{env:GNOCCHI_STORAGE_DEPS}] mysql: .[mysql,{env:GNOCCHI_STORAGE_DEPS}] # NOTE(tonyb): This project has chosen to *NOT* consume upper-constraints.txt commands = doc8 --ignore-path doc/source/rest.rst doc/source gnocchi-config-generator {toxinidir}/run-tests.sh {posargs} [testenv:py35-postgresql-file-upgrade-from-3.0] # We should always recreate since the script upgrade # Gnocchi we can't reuse the virtualenv envdir = upgrade recreate = True skip_install = True usedevelop = False setenv = GNOCCHI_VARIANT=test,postgresql,file deps = gnocchi[{env:GNOCCHI_VARIANT}]>=3.0,<3.1 pifpaf>=0.13 gnocchiclient>=2.8.0 commands = pifpaf --env-prefix INDEXER run postgresql {toxinidir}/run-upgrade-tests.sh {posargs} [testenv:py27-mysql-ceph-upgrade-from-3.0] # We should always recreate since the script upgrade # Gnocchi we can't reuse the virtualenv envdir = upgrade recreate = True skip_install = True usedevelop = False setenv = GNOCCHI_VARIANT=test,mysql,ceph,ceph_recommended_lib deps = gnocchi[{env:GNOCCHI_VARIANT}]>=3.0,<3.1 gnocchiclient>=2.8.0 pifpaf>=0.13 commands = pifpaf --env-prefix INDEXER run mysql -- pifpaf --env-prefix STORAGE run ceph {toxinidir}/run-upgrade-tests.sh {posargs} [testenv:py35-postgresql-file-upgrade-from-2.2] # We should always recreate since the script upgrade # Gnocchi we can't reuse the virtualenv envdir = upgrade recreate = True skip_install = True usedevelop = False setenv = GNOCCHI_VARIANT=test,postgresql,file deps = gnocchi[{env:GNOCCHI_VARIANT}]>=2.2,<2.3 pifpaf>=0.13 gnocchiclient>=2.8.0 commands = pifpaf --env-prefix INDEXER run postgresql {toxinidir}/run-upgrade-tests.sh {posargs} [testenv:py27-mysql-ceph-upgrade-from-2.2] # We should always recreate since the script upgrade # Gnocchi we can't reuse the virtualenv envdir = upgrade recreate = True skip_install = True usedevelop = False setenv = GNOCCHI_VARIANT=test,mysql,ceph,ceph_recommended_lib deps = gnocchi[{env:GNOCCHI_VARIANT}]>=2.2,<2.3 gnocchiclient>=2.8.0 pifpaf>=0.13 cradox # cradox is required because 2.2 extra names are incorrect commands = pifpaf --env-prefix INDEXER run mysql -- pifpaf --env-prefix STORAGE run ceph {toxinidir}/run-upgrade-tests.sh {posargs} [testenv:bashate] deps = bashate commands = bashate -v devstack/plugin.sh devstack/gate/gate_hook.sh devstack/gate/post_test_hook.sh whitelist_externals = bash [testenv:pep8] deps = hacking>=0.12,<0.13 commands = flake8 [testenv:py27-gate] setenv = OS_TEST_PATH=gnocchi/tests/gabbi GABBI_LIVE=1 passenv = {[testenv]passenv} GNOCCHI_SERVICE* sitepackages = True basepython = python2.7 commands = {toxinidir}/tools/pretty_tox.sh '{posargs}' # This target provides a shortcut to running just the gabbi tests. [testenv:py27-gabbi] deps = .[test,postgresql,file] setenv = OS_TEST_PATH=gnocchi/tests/gabbi basepython = python2.7 commands = pifpaf -g GNOCCHI_INDEXER_URL run postgresql -- {toxinidir}/tools/pretty_tox.sh '{posargs}' [testenv:py27-cover] commands = pifpaf -g GNOCCHI_INDEXER_URL run postgresql -- python setup.py testr --coverage --testr-args="{posargs}" [testenv:venv] # This is used by the doc job on the gate deps = {[testenv:docs]deps} commands = pifpaf -g GNOCCHI_INDEXER_URL run postgresql -- {posargs} [flake8] exclude = .tox,.eggs,doc show-source = true enable-extensions = H904 [testenv:genconfig] deps = .[mysql,postgresql,test,file,ceph,swift,s3] commands = gnocchi-config-generator [testenv:docs] # This does not work, see: https://bitbucket.org/hpk42/tox/issues/302 # deps = {[testenv]deps} # .[doc] deps = .[test,postgresql,file,doc] setenv = GNOCCHI_TEST_STORAGE_DRIVER=file GNOCCHI_TEST_INDEXER_DRIVER=postgresql commands = doc8 --ignore-path doc/source/rest.rst doc/source pifpaf -g GNOCCHI_INDEXER_URL run postgresql -- python setup.py build_sphinx [testenv:docs-gnocchi.xyz] deps = .[file,postgresql,test,doc] sphinx_rtd_theme commands = pifpaf -g GNOCCHI_INDEXER_URL run postgresql -- sphinx-build -D html_theme=sphinx_rtd_theme doc/source doc/build/html