[tox] minversion = 1.6 envlist = py34,py27,pep8,functional skipsdist = True [testenv] # Note the hash seed is set to 0 until senlin can be tested with a # random hash seed successfully. setenv = VIRTUAL_ENV={envdir} PYTHONHASHSEED=0 OS_TEST_PATH=senlin/tests/unit passenv = http_proxy HTTP_PROXY https_proxy HTTPS_PROXY no_proxy NO_PROXY deps = -r{toxinidir}/test-requirements.txt usedevelop = True install_command = pip install {opts} {packages} commands = find . -type f -name "*.pyc" -delete ostestr --slowest {posargs} whitelist_externals = bash find [testenv:functional] setenv = VIRTUAL_ENV={envdir} PYTHONHASHSEED=0 OS_TEST_PATH=senlin/tests/functional passenv = OS_USERNAME OS_PASSWORD OS_TENANT_NAME OS_USER_DOMAIN_NAME OS_PROJECT_DOMAIN_NAME OS_REGION_NAME OS_AUTH_URL commands = find . -type f -name "*.pyc" -delete ostestr --slowest --concurrency 1 {posargs} [testenv:pep8] commands = flake8 senlin bin/senlin-api bin/senlin-engine bin/senlin-manage # Check that .po and .pot files are valid: bash -c "find senlin -type f -regex '.*\.pot?' -print0|xargs -0 -n 1 msgfmt --check-format -o /dev/null" [testenv:genconfig] envdir = {toxworkdir}/venv commands = {toxinidir}/tools/gen-config [testenv:venv] commands = {posargs} [testenv:cover] setenv = VIRTUAL_ENV={envdir} commands = python setup.py testr --coverage --testr-args="^(?!senlin\.tests\.functional){posargs}" [testenv:docs] deps = -r{toxinidir}/test-requirements.txt sphinxcontrib-httpdomain commands = python setup.py build_sphinx [testenv:releasenotes] commands = sphinx-build -a -E -W -d releasenotes/build/doctrees -b html releasenotes/source releasenotes/build/html [flake8] ignore = show-source = true exclude=.venv,.git,.tox,cover,dist,*lib/python*,*egg,tools,build max-complexity=20 [hacking] import_exceptions = senlin.common.i18n