ha/tox.ini
Dean Troyer 0c8ca24e5b Add DevStack support
This builds, installs and cleans some of the SM components, plus adds
a DevStack job and a build.sh script to build components outside DevStack.

It uses the 'new' DevStack base job flock-devstack-base directly.

Also some interesting work-arounds were required to build sm-common and sm-db,
need to sort out the differences between CentOS 7.5 and Ubuntu Xenial.

Fixed a couple of occurrances of this error:
  sm_db_service_domain_neighbors.c:311:25: error: ISO C++ forbids
  comparison between pointer and integer [-Werror=permissive]
     if( '\0' != record->orchestration )
                        ^~~~~~~~~~~~~

02Apr2019 - Add new skips for flake8 after upstream release
03Apr2019 - Merge with https://review.openstack.org/#/c/647490/2, at this point
            there is not much reason to do this in two steps.

Change-Id: I33c44a764295e8e0a7ae4771ea02e950f06bf2a2
Signed-off-by: Dean Troyer <dtroyer@gmail.com>
2019-04-04 15:43:20 -05:00

134 lines
4.2 KiB
INI
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

[tox]
envlist = linters,pep8
minversion = 2.3
skipsdist = True
[testenv]
install_command = pip install -c{env:UPPER_CONSTRAINTS_FILE:https://git.openstack.org/cgit/openstack/requirements/plain/upper-constraints.txt} {opts} {packages}
setenv = VIRTUAL_ENV={envdir}
OS_STDOUT_CAPTURE=1
OS_STDERR_CAPTURE=1
OS_TEST_TIMEOUT=60
deps = -r{toxinidir}/test-requirements.txt
whitelist_externals = reno
[testenv:linters]
basepython = python2.7
deps = {[testenv]deps}
eventlet
httplib2
iso8601
jsonpatch
keystonemiddleware
kombu
MySQL-python
oslo.config
pecan
prettytable
psutil
sqlalchemy
sqlalchemy-migrate
wsme
pylint
whitelist_externals = bash
commands =
bash -c "find {toxinidir} \
-not \( -type d -name .?\* -prune \) \
-type f \
-not -name \*~ \
-not -name \*.md \
\( \
-name \*.sh \
-or -not -wholename \*/devstack/files/\* \
-wholename \*/devstack/\* \
\) \
-print0 | xargs -0 bashate -v"
bash -c "find {toxinidir} \
\( -name middleware/io-monitor/recipes-common/io-monitor/io-monitor/io_monitor/test-tools/yaml/* -prune \) \
-o \( -name .tox -prune \) \
-o -type f -name '*.yaml' \
-print0 | xargs -0 yamllint"
pylint --rcfile=./pylint.rc --extension-pkg-whitelist=greenlet \
./service-mgmt-api/sm-api/sm_api/ \
./service-mgmt-tools/sm-tools/sm_tools/ \
./service-mgmt-client/sm-client/sm_client/
[flake8]
# The following are being suppressed for now
# E402 module level import not at top of file
# - hacking codes -
# H102: license header not found
# H104: File contains nothing but comments
# H105: Don't use author tags
# H306: imports not in alphabetical order
# H401: docstring should not start with a space
# H403: multi line docstrings should end on a new line
# H404: multi line docstring should start without a leading new line
# H405: multi line docstring summary not separated with an empty line
# H501: Do not use locals() for string formatting
# - errors -
# F811 redefinition of unused '<foo>' from line <x>
# F821 undefined name 'e'
# - bugbear -
# B006 Do not use mutable data structures for argument defaults. (python3)
# B008 Do not perform calls in argument defaults. The call is performed only once at function definition time.
# B009: Do not call getattr with a constant attribute value
# B010: Do not call setattr with a constant attribute value
ignore= E402,
H102,H104,H105,H106,H306,H401,H403,H404,H405,H501,
F811,F821,
B006,B008,B009,B010
# Enable checks which are off by default
# H106 Dont put vim configuration in source files (off by default). SHOULD BE ENABLED.
# H203 Use assertIs(Not)None to check for None (off by default).
# H904 Delay string interpolations at logging calls (off by default). SHOULD BE ENABLED.
enable-extensions = H203
max-line-length = 110
[testenv:pep8]
basepython = python3
usedevelop = False
skip_install = True
deps =
hacking
flake8-bugbear<=19.3.0
flake8 < 3.6.0
commands =
flake8
[testenv:venv]
basepython = python3
commands = {posargs}
[testenv:docs]
basepython = python3
deps = -r{toxinidir}/doc/requirements.txt
commands =
rm -rf doc/build
sphinx-build -a -E -W -d doc/build/doctrees -b html doc/source doc/build/html
whitelist_externals = rm
[testenv:releasenotes]
basepython = python3
deps = -r{toxinidir}/doc/requirements.txt
commands =
rm -rf releasenotes/build
sphinx-build -a -E -W -d releasenotes/build/doctrees -b html releasenotes/source releasenotes/build/html
whitelist_externals = rm
[testenv:newnote]
basepython = python3
# Re-use the releasenotes venv
envdir = {toxworkdir}/releasenotes
deps = -r{toxinidir}/doc/requirements.txt
commands = reno new {posargs}
[testenv:api-ref]
basepython = python3
deps =
-r{toxinidir}/doc/requirements.txt
commands =
rm -rf api-ref/build
sphinx-build -W -b html -d api-ref/build/doctrees api-ref/source api-ref/build/html
whitelist_externals = rm