Last active
July 17, 2018 21:08
-
-
Save obestwalter/ba3199c5564c35348abacd11db1c3d4d to your computer and use it in GitHub Desktop.
Running tox 3.1 parseconfig over a random collection of tox.inis grabbed from github
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import logging | |
import os | |
from pathlib import Path | |
from tox.config import parseconfig | |
log = logging.getLogger("gh") | |
INI_PATH = Path(__file__).parent / "inis" | |
EXCLUDES = [ | |
"python-package-skeleton", | |
"chatter", | |
"GUIK", | |
"all_in_one_reboot_script", | |
"pyscaffold", | |
"makeapp", | |
] | |
def resolve_configs(): | |
for count, iniPath in enumerate(INI_PATH.iterdir(), start=1): | |
try: | |
parse(iniPath) | |
except Exception as e: | |
content = iniPath.read_text() | |
info = content.split(os.linesep)[0] | |
print(f"{iniPath} -> ({e}): {info}\n\n{content}\n\n{'*' * 80}\n\n") | |
log.info(f"checked {count} configs") | |
def parse(iniPath): | |
if iniPath.stem in EXCLUDES: | |
log.debug(f"[IGNORE] {iniPath}") | |
return | |
parseconfig(["-c", str(iniPath)]) | |
def init(): | |
logging.basicConfig(level=logging.INFO) | |
if __name__ == "__main__": | |
init() | |
resolve_configs() |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import logging | |
from pathlib import Path | |
from typing import Iterable | |
import github | |
import requests | |
from github.ContentFile import ContentFile | |
log = logging.getLogger("gh") | |
TOKEN = (Path(__file__).parent / "token.txt").read_text().strip() | |
GH = github.MainClass.Github(TOKEN) | |
HERE = Path(__file__).parent | |
PATH_TO_INIS = HERE / "inis" | |
def main(): | |
container = HERE / "inis" | |
container.mkdir(exist_ok=True) | |
results: Iterable[ContentFile] = GH.search_code( | |
"filename:tox.ini", sort="indexed", order="desc" | |
) | |
for result in results: | |
show_rate_limit_info() | |
response = requests.get(result.download_url) | |
path = (container / result.repository.name).with_suffix(".ini") | |
info = get_info(result) | |
ini = response.content.decode() | |
log.info(f"{info} -> {path}") | |
path.write_text(f"{info}\n{ini}") | |
def get_info(result: ContentFile): | |
return f";{result.repository.html_url} (repo modified: {result.last_modified})\n" | |
def show_rate_limit_info(): | |
limit = GH.get_rate_limit() | |
print(f"{limit.rate.remaining} -> {limit.rate.reset}") | |
def init(): | |
logging.basicConfig(level=logging.INFO) | |
PATH_TO_INIS.mkdir(exist_ok=True) | |
if __name__ == "__main__": | |
init() | |
main() |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
inis/tornado.ini -> (Conflicting basepython for environment 'py2-monotonic'; resolve conflict or configure ignore_basepython_conflict): ;https://github.com/tornadoweb/tornado (repo modified: Wed, 11 Jul 2018 01:46:11 GMT) | |
;https://github.com/tornadoweb/tornado (repo modified: Wed, 11 Jul 2018 01:46:11 GMT) | |
# Tox (https://tox.readthedocs.io) is a tool for running tests | |
# in multiple virtualenvs. This configuration file will run the tornado | |
# test suite on all supported python versions. To use it, "pip install tox" | |
# and then run "tox" from this directory. | |
# | |
# This configuration requires tox 1.8 or higher. | |
# | |
# Installation tips: | |
# When building pycurl on my macports-based setup, I need to either set the | |
# environment variable ARCHFLAGS='-arch x86_64' or use | |
# 'port install curl +universal' to get both 32- and 64-bit versions of | |
# libcurl. | |
[tox] | |
envlist = | |
# Basic configurations: Run the tests in both minimal installations | |
# and with all optional dependencies. | |
# (pypy3 doesn't have any optional deps yet) | |
{py27,pypy,py34,py35,py36,py37,pypy3}, | |
{py27,pypy,py34,py35,py36,py37}-full, | |
# Also run the tests with each possible replacement of a default | |
# component. Run each test on both python 2 and 3 where possible. | |
# (Only one 2.x and one 3.x unless there are known differences). | |
# py2 and py3 are aliases for py27-full and py35-full. | |
# Alternate HTTP clients. | |
{py2,py3}-curl, | |
# Alternate IOLoops. | |
py2-select, | |
py2-full-twisted, | |
py2-twistedlayered, | |
# Alternate Resolvers. | |
{py2,py3}-full-caresresolver, | |
# Other configurations; see comments below. | |
py2-monotonic, | |
{py2,py3}-opt, | |
py3-{lang_c,lang_utf8}, | |
py2-locale, | |
{py27,py3}-unittest2, | |
# Ensure the sphinx build has no errors or warnings | |
py3-sphinx-docs, | |
# Run the doctests via sphinx (which covers things not run | |
# in the regular test suite and vice versa) | |
py3-sphinx-doctest, | |
py3-lint | |
[testenv] | |
# Most of these are defaults, but if you specify any you can't fall back | |
# defaults for the others. | |
basepython = | |
py27: python2.7 | |
py34: python3.4 | |
py35: python3.5 | |
py36: python3.6 | |
py37: python3.7 | |
pypy: pypy | |
pypy3: pypy3 | |
py2: python2.7 | |
py3: python3.7 | |
deps = | |
# unittest2 doesn't add anything we need on 2.7+, but we should ensure that | |
# its existence doesn't break anything due to conditional imports. | |
py27-unittest2: unittest2 | |
py3-unittest2: unittest2py3k | |
# cpython-only deps: pycurl installs but curl_httpclient doesn't work; | |
# twisted mostly works but is a bit flaky under pypy. | |
{py27,py34,py35,py36,py37}-full: pycurl | |
{py2,py3}: pycurl>=7.19.3.1 | |
# twisted is cpython only. | |
{py27,py34,py35,py36,py37}-full: twisted | |
{py2,py3}: twisted | |
{py2,py3,py27,py34,py35,py36,py37}-full: pycares | |
# mock became standard in py33 | |
{py2,py27,pypy,pypy3}-full: mock | |
# singledispatch became standard in py34. | |
{py2,py27,pypy}-full: singledispatch | |
py2-monotonic: monotonic | |
sphinx: sphinx | |
sphinx: sphinx_rtd_theme | |
lint: flake8 | |
setenv = | |
# The extension is mandatory on cpython. | |
{py2,py27,py3,py34,py35,py36,py37}: TORNADO_EXTENSION=1 | |
# In python 3, opening files in text mode uses a | |
# system-dependent encoding by default. Run the tests with "C" | |
# (ascii) and "utf-8" locales to ensure we don't have hidden | |
# dependencies on this setting. | |
lang_c: LANG=C | |
lang_utf8: LANG=en_US.utf-8 | |
# tox's parser chokes if all the setenv entries are conditional. | |
DUMMY=dummy | |
{py2,py27,py3,py34,py35,py36,py37}-no-ext: TORNADO_EXTENSION=0 | |
# All non-comment lines but the last must end in a backslash. | |
# Tox filters line-by-line based on the environment name. | |
commands = | |
python \ | |
# py3*: -b turns on an extra warning when calling | |
# str(bytes), and -bb makes it an error. | |
{py3,py34,py35,py36,py37,pypy3}: -bb \ | |
# Python's optimized mode disables the assert statement, so | |
# run the tests in this mode to ensure we haven't fallen into | |
# the trap of relying on an assertion's side effects or using | |
# them for things that should be runtime errors. | |
opt: -O \ | |
-m tornado.test.runtests \ | |
# Note that httpclient_test is always run with both client | |
# implementations; this flag controls which client all the | |
# other tests use. | |
curl: --httpclient=tornado.curl_httpclient.CurlAsyncHTTPClient \ | |
poll: --ioloop=tornado.ioloop.PollIOLoop \ | |
select: --ioloop=tornado.platform.select.SelectIOLoop \ | |
twisted: --ioloop=tornado.platform.twisted.TwistedIOLoop \ | |
twistedlayered: --ioloop=tornado.test.twisted_test.LayeredTwistedIOLoop --resolver=tornado.platform.twisted.TwistedResolver \ | |
caresresolver: --resolver=tornado.platform.caresresolver.CaresResolver \ | |
threadedresolver: --resolver=tornado.netutil.ThreadedResolver \ | |
monotonic: --ioloop=tornado.ioloop.PollIOLoop --ioloop_time_monotonic \ | |
# Test with a non-english locale to uncover str/bytes mixing issues. | |
locale: --locale=zh_TW \ | |
{posargs:} | |
# python will import relative to the current working directory by default, | |
# so cd into the tox working directory to avoid picking up the working | |
# copy of the files (especially important for the speedups module). | |
changedir = {toxworkdir} | |
# tox 1.6 passes --pre to pip by default, which currently has problems | |
# installing pycurl and monotime (https://github.com/pypa/pip/issues/1405). | |
# Remove it (it's not a part of {opts}) to only install real releases. | |
install_command = pip install {opts} {packages} | |
[testenv:py3-sphinx-docs] | |
changedir = docs | |
# For some reason the extension fails to load in this configuration, | |
# but it's not really needed for docs anyway. | |
setenv = TORNADO_EXTENSION=0 | |
commands = | |
sphinx-build -q -E -n -W -b html . {envtmpdir}/html | |
[testenv:py3-sphinx-doctest] | |
changedir = docs | |
setenv = TORNADO_EXTENSION=0 | |
# No -W for doctests because that disallows tests with empty output. | |
commands = | |
sphinx-build -q -E -n -b doctest . {envtmpdir}/doctest | |
[testenv:py3-lint] | |
commands = flake8 {posargs:} | |
changedir = {toxinidir} | |
******************************************************************************** | |
inis/storlets.ini -> (Conflicting basepython for environment 'py36'; resolve conflict or configure ignore_basepython_conflict): ;https://github.com/openstack/storlets (repo modified: Tue, 10 Jul 2018 08:38:52 GMT) | |
;https://github.com/openstack/storlets (repo modified: Tue, 10 Jul 2018 08:38:52 GMT) | |
[tox] | |
minversion = 1.6 | |
envlist = py27,py35,pep8 | |
skipsdist = True | |
[testenv] | |
usedevelop = True | |
install_command = pip install -c{env:UPPER_CONSTRAINTS_FILE:https://git.openstack.org/cgit/openstack/requirements/plain/upper-constraints.txt} -U {opts} {packages} | |
setenv = | |
VIRTUAL_ENV={envdir} | |
PYTHONPATH={toxinidir}/StorletSamples/python:{envdir} | |
NOSE_WITH_COVERAGE=1 | |
NOSE_COVER_BRANCHES=1 | |
deps = | |
-r{toxinidir}/test-requirements.txt | |
git+git://github.com/openstack/swift.git | |
commands = | |
find . -type f -name "*.py[c|o]" -delete | |
find . -type d -name "__pycache__" -delete | |
python setup.py testr --slowest --testr-args='--concurrency 1 {posargs:tests.unit}' | |
whitelist_externals = bash | |
find | |
rm | |
[testenv:pep8python] | |
basepython = python3 | |
commands = | |
flake8 | |
flake8 --filename=* bin --exclude=bin/*.sh | |
[testenv:py35] | |
basepython = python3 | |
commands = | |
nosetests -v \ | |
tests/unit/gateway \ | |
tests/unit/sbus \ | |
tests/unit/tools | |
[testenv:py36] | |
basepython = python3 | |
commands = {[testenv:py35]commands} | |
[testenv:func] | |
basepython = python2.7 | |
deps = | |
-r{toxinidir}/test-requirements.txt | |
git+git://github.com/openstack/swift.git | |
setenv = | |
VIRTUAL_ENV={envdir} | |
STORLET_SAMPLE_PATH={toxinidir}/StorletSamples | |
CLUSTER_CONF_DIR={toxinidir} | |
commands = {toxinidir}/.functests jenkins | |
[testenv:venv] | |
basepython = python3 | |
commands = {posargs} | |
[testenv:cover] | |
basepython = python3 | |
commands = python setup.py testr --coverage --testr-args='{posargs}' | |
[testenv:docs] | |
basepython = python2.7 | |
commands = python setup.py build_sphinx | |
[testenv:debug] | |
basepython = python3 | |
commands = oslo_debug_helper {posargs} | |
[testenv:bashate] | |
basepython = python3 | |
# Run bashate check for all bash scripts | |
# Ignores the following rules: | |
# E003: Indent not multiple of 4 (we prefer to use multiples of 2) | |
# E006: Line longer than 79 columns | |
commands = | |
bash -c "grep --recursive --binary-files=without-match \ | |
--files-with-match '^.!.*\(ba\)\?sh$' \ | |
--exclude-dir .tox \ | |
--exclude-dir .git \ | |
{toxinidir} | xargs bashate --error . --verbose --ignore=E003,E006" | |
[flake8] | |
# E123, E125 skipped as they are invalid PEP-8. | |
# H301: one import per line | |
# H306: imports not in alphabetical order (time, os) | |
# H404: multi line docstring should start without a leading new line | |
# H405: multi line docstring summary not separated with an empty line | |
ignore = E123,E125,H301,H306,H404,H405 | |
show-source = True | |
builtins = _ | |
exclude=.venv,.git,.tox,dist,doc,*openstack/common*,*lib/python*,*egg,build | |
[testenv:pep8] | |
basepython = python2.7 | |
commands = | |
{[testenv:pep8python]commands} | |
{[testenv:bashate]commands} | |
passenv = | |
HOME | |
[testenv:releasenotes] | |
basepython = python3 | |
commands = sphinx-build -a -W -E -d releasenotes/build/doctrees -b html releasenotes/source releasenotes/build/html | |
******************************************************************************** | |
inis/goal-tools.ini -> (Conflicting basepython for environment 'py35'; resolve conflict or configure ignore_basepython_conflict): ;https://github.com/openstack/goal-tools (repo modified: Tue, 10 Jul 2018 19:37:38 GMT) | |
;https://github.com/openstack/goal-tools (repo modified: Tue, 10 Jul 2018 19:37:38 GMT) | |
[tox] | |
minversion = 2.0 | |
envlist = py35,pep8 | |
[testenv] | |
basepython = python3 | |
install_command = pip install {opts} {packages} | |
usedevelop = True | |
deps = | |
-r{toxinidir}/requirements.txt | |
-r{toxinidir}/test-requirements.txt | |
setenv = | |
PYTHON=coverage run --source goal_tools --parallel-mode | |
passenv = | |
ZUUL_CACHE_DIR | |
commands = | |
stestr run {posargs} | |
stestr slowest | |
coverage combine | |
coverage report -m | |
[testenv:pep8] | |
deps = | |
flake8 | |
commands = | |
flake8 | |
[testenv:venv] | |
commands = {posargs} | |
[flake8] | |
show-source = True | |
enable-extensions = H203,H106 | |
exclude = .tox,dist,doc,*.egg,build | |
******************************************************************************** | |
inis/releases.ini -> (Conflicting basepython for environment 'py35'; resolve conflict or configure ignore_basepython_conflict): ;https://github.com/openstack/releases (repo modified: Tue, 10 Jul 2018 14:36:24 GMT) | |
;https://github.com/openstack/releases (repo modified: Tue, 10 Jul 2018 14:36:24 GMT) | |
[tox] | |
minversion = 1.6 | |
envlist = py35,validate,pep8,bashate,docs | |
skipdist = True | |
[testenv] | |
usedevelop=True | |
passenv= | |
ZUUL_CACHE_DIR | |
HOME | |
install_command = pip install -U {opts} {packages} | |
setenv = | |
VIRTUAL_ENV={envdir} | |
PYTHONUNBUFFERED=1 | |
LOGDIR={envdir}/log | |
TMPDIR={envdir}/tmp | |
PYTHON=coverage run --source openstack_releases --parallel-mode | |
basepython = python3 | |
deps = -r{toxinidir}/test-requirements.txt | |
commands = | |
stestr run '{posargs}' | |
coverage combine | |
coverage html -d cover | |
coverage xml -o cover/coverage.xml | |
coverage report --show-missing | |
[testenv:validate] | |
deps = | |
yamllint==1.4.1 | |
commands = | |
{toxinidir}/tools/tox-log-command.sh {toxinidir}/tools/run_yamllint.sh | |
{toxinidir}/tools/tox-log-command.sh check-schema {posargs} | |
{toxinidir}/tools/tox-log-command.sh validate-request {posargs} | |
[testenv:list-changes] | |
commands = | |
{toxinidir}/tools/tox-log-command.sh list-changes {posargs} | |
[testenv:pep8] | |
commands = flake8 | |
[testenv:bashate] | |
deps = bashate | |
whitelist_externals = bash | |
commands = bash -c "find {toxinidir} \ | |
-not \( -type d -name .?\* -prune \) \ | |
-type f \ | |
-not -name \*~ \ | |
-not -name \*.md \ | |
-name \*.sh \ | |
-print0 | xargs -0 bashate -v" | |
[testenv:aclmanager] | |
commands = python {toxinidir}/tools/aclmanager.py {posargs} | |
[testenv:venv] | |
deps = .[sphinxext] | |
commands = {posargs} | |
[testenv:history] | |
commands = {toxinidir}/tools/build_tag_history.sh {toxinidir} | |
[testenv:docs] | |
deps = | |
-c{env:UPPER_CONSTRAINTS_FILE:https://git.openstack.org/cgit/openstack/requirements/plain/upper-constraints.txt} | |
-r{toxinidir}/requirements.txt | |
-r{toxinidir}/doc/requirements.txt | |
commands = | |
sphinx-build -a -E -W -d doc/build/doctrees -b html doc/source doc/build/html | |
whereto {toxinidir}/doc/source/_extra/.htaccess {toxinidir}/doc/test/redirect-tests.txt | |
[flake8] | |
# E123, E125 skipped as they are invalid PEP-8. | |
# E501 skipped because some of the code files include templates | |
# that end up quite wide | |
show-source = True | |
ignore = E123,E125,E501,H405 | |
builtins = _ | |
exclude=.venv,.git,.tox,dist,doc,*lib/python*,*egg,build,release-tag-* | |
[testenv:bindep] | |
# Do not install any requirements. We want this to be fast and work even if | |
# system dependencies are missing, since it's used to tell you what system | |
# dependencies are missing! This also means that bindep must be installed | |
# separately, outside of the requirements files. | |
deps = bindep | |
commands = bindep test | |
******************************************************************************** | |
inis/PyXenaValkyrie.ini -> (Conflicting basepython for environment 'py36'; resolve conflict or configure ignore_basepython_conflict): ;https://github.com/xenadevel/PyXenaValkyrie (repo modified: Wed, 11 Jul 2018 15:04:20 GMT) | |
;https://github.com/xenadevel/PyXenaValkyrie (repo modified: Wed, 11 Jul 2018 15:04:20 GMT) | |
[tox] | |
envlist = py27,py27_64,py36,py36_64,python2.7,python3.6 | |
skip_missing_interpreters=True | |
[testenv] | |
basepython= | |
py27: C:\Python27\python.exe | |
py27_64: C:\Python27_64\python.exe | |
py36: C:\Python36\python.exe | |
py36_64: C:\Python36_64\python.exe | |
python2.7: /bin/python2.7 | |
python3.6: /bin/python3.6 | |
deps = -r{toxinidir}/requirements.txt | |
commands=py.test xenavalkyrie/test/test_*.py | |
******************************************************************************** | |
inis/pydevp2p.ini -> (Conflicting basepython for environment 'pypy2-401'; resolve conflict or configure ignore_basepython_conflict): ;https://github.com/phucnguyenit/pydevp2p (repo modified: Mon, 02 Jul 2018 06:12:32 GMT) | |
;https://github.com/phucnguyenit/pydevp2p (repo modified: Mon, 02 Jul 2018 06:12:32 GMT) | |
[tox] | |
mintoxversion = 2.0 | |
envlist = py27,pypy2-{261,401,500} | |
[testenv] | |
setenv = | |
PYTHONPATH = {toxinidir}:{toxinidir}/pydevp2p | |
passenv = HOME | |
commands = python setup.py test --addopts "{posargs:devp2p/tests}" | |
deps = | |
-r{toxinidir}/requirements.txt | |
[testenv:pypy2-261] | |
basepython = pypy2.7-2.6.1 | |
[testenv:pypy2-401] | |
basepython = pypy2.7-4.0.1 | |
[testenv:pypy2-500] | |
basepython = pypy2.7-5.0.0 | |
******************************************************************************** | |
inis/ansible-role-runit.ini -> (Conflicting basepython for environment 'py27-ansible24'; resolve conflict or configure ignore_basepython_conflict): ;https://github.com/infothrill/ansible-role-runit (repo modified: Thu, 12 Jul 2018 19:24:19 GMT) | |
;https://github.com/infothrill/ansible-role-runit (repo modified: Thu, 12 Jul 2018 19:24:19 GMT) | |
[tox] | |
minversion = 1.8 | |
envlist = py{27}-ansible{24,25,26} | |
skipsdist = true | |
[testenv] | |
# ansible only supports python3 in versions >= 2.5 | |
basepython = python2 | |
passenv = * | |
deps = | |
-rrequirements.txt | |
ansible24: ansible>=2.4,<2.5 | |
ansible25: ansible>=2.5,<2.6 | |
ansible26: ansible>=2.6,<2.7 | |
commands = | |
pip list | |
molecule --version | |
ansible --version | |
ansible-lint --version | |
./run_molecule.sh | |
[travis] | |
os = | |
linux: py{27}-ansible{24,25,26} | |
[travis:env] | |
ANSIBLE = | |
2.4: ansible24 | |
2.5: ansible25 | |
2.6: ansible26 | |
******************************************************************************** | |
inis/idexmedia.github.ini -> (Conflicting basepython for environment 'py35'; resolve conflict or configure ignore_basepython_conflict): ;https://github.com/idexmedia/idexmedia.github.io (repo modified: Wed, 27 Jun 2018 11:42:03 GMT) | |
;https://github.com/idexmedia/idexmedia.github.io (repo modified: Wed, 27 Jun 2018 11:42:03 GMT) | |
[tox] | |
envlist = py27, py35, py36 | |
[testenv] | |
usedevelop = true | |
basepython = | |
python2.7 | |
deps = | |
-rtest-requirements.txt | |
commands = py.test -v tests/ --doctest-modules --cov idex --cov-report term-missing | |
passenv = | |
TRAVIS | |
TRAVIS_BRANCH | |
TRAVIS_JOB_ID | |
[testenv:py36] | |
basepython = | |
python3.6 | |
deps = | |
-rtest-requirements.txt | |
-rtest-requirements35.txt | |
commands = | |
py.test -v asynctests/ --doctest-modules --cov idex --cov-report term-missing | |
[testenv:flake8] | |
usedevelop = false | |
commands = flake8 idex/ | |
deps = flake8 | |
[travis] | |
python = | |
3.6: py36, flake8 | |
[flake8] | |
exclude = | |
.git, | |
.tox, | |
build, | |
dist | |
ignore = | |
E501 | |
E999 | |
[pep8] | |
ignore = | |
E501 | |
E999 | |
******************************************************************************** | |
inis/python-magnumclient.ini -> (Conflicting basepython for environment 'pypy'; resolve conflict or configure ignore_basepython_conflict): ;https://github.com/openstack/python-magnumclient (repo modified: Wed, 06 Jun 2018 21:58:18 GMT) | |
;https://github.com/openstack/python-magnumclient (repo modified: Wed, 06 Jun 2018 21:58:18 GMT) | |
[tox] | |
minversion = 1.6 | |
envlist = py35,py27,pypy,pep8 | |
skipsdist = True | |
[testenv] | |
usedevelop = True | |
install_command = pip install {opts} {packages} | |
whitelist_externals = find | |
setenv = | |
VIRTUAL_ENV={envdir} | |
PYTHONWARNINGS=default::DeprecationWarning | |
deps = | |
-c{env:UPPER_CONSTRAINTS_FILE:https://git.openstack.org/cgit/openstack/requirements/plain/upper-constraints.txt} | |
-r{toxinidir}/requirements.txt | |
-r{toxinidir}/test-requirements.txt | |
commands = | |
find . -type f -name "*.py[c|o]" -delete | |
python setup.py testr --slowest --testr-args='{posargs}' | |
[testenv:bandit] | |
basepython = python3 | |
deps = | |
-c{env:UPPER_CONSTRAINTS_FILE:https://git.openstack.org/cgit/openstack/requirements/plain/upper-constraints.txt} | |
-r{toxinidir}/test-requirements.txt | |
commands = bandit -r magnumclient -x tests -n5 -ll | |
[testenv:pypy] | |
basepython = python3 | |
deps = | |
-c{env:UPPER_CONSTRAINTS_FILE:https://git.openstack.org/cgit/openstack/requirements/plain/upper-constraints.txt} | |
setuptools<3.2 | |
-r{toxinidir}/requirements.txt | |
-r{toxinidir}/test-requirements.txt | |
[testenv:debug] | |
basepython = python3 | |
commands = oslo_debug_helper -t magnumclient/tests {posargs} | |
[testenv:debug-py27] | |
basepython = python2.7 | |
commands = oslo_debug_helper -t magnumclient/tests {posargs} | |
[testenv:debug-py35] | |
basepython = python3.5 | |
commands = oslo_debug_helper -t magnumclient/tests {posargs} | |
[testenv:pep8] | |
basepython = python3 | |
commands = | |
flake8 | |
# Run security linter | |
bandit -r magnumclient -x tests -n5 -ll | |
[testenv:docs] | |
basepython = python3 | |
deps = -r{toxinidir}/doc/requirements.txt | |
commands = | |
sphinx-build -W -b html doc/source doc/build/html | |
[testenv:venv] | |
basepython = python3 | |
commands = {posargs} | |
[testenv:cover] | |
basepython = python3 | |
commands = {toxinidir}/tools/cover.sh {posargs} | |
[flake8] | |
# E123, E125 skipped as they are invalid PEP-8. | |
show-source = True | |
ignore = E123,E125 | |
builtins = _ | |
exclude=.venv,.git,.tox,dist,doc,,*lib/python*,*egg,build | |
[hacking] | |
import_exceptions = magnumclient._i18n | |
[testenv:lower-constraints] | |
basepython = python3 | |
deps = | |
-c{toxinidir}/lower-constraints.txt | |
-r{toxinidir}/test-requirements.txt | |
-r{toxinidir}/requirements.txt | |
******************************************************************************** | |
inis/PyXenaManager.ini -> (Conflicting basepython for environment 'py36'; resolve conflict or configure ignore_basepython_conflict): ;https://github.com/xenadevel/PyXenaManager (repo modified: Wed, 11 Jul 2018 13:11:46 GMT) | |
;https://github.com/xenadevel/PyXenaManager (repo modified: Wed, 11 Jul 2018 13:11:46 GMT) | |
[tox] | |
envlist = py27,py27_64,py36,py36_64,python2.7,python3.6 | |
skip_missing_interpreters=True | |
[testenv] | |
basepython= | |
py27: C:\Python27\python.exe | |
py27_64: C:\Python27_64\python.exe | |
py36: C:\Python36\python.exe | |
py36_64: C:\Python36_64\python.exe | |
python2.7: /bin/python2.7 | |
python3.6: /bin/python3.6 | |
deps = -r{toxinidir}/requirements.txt | |
commands=py.test xenamanager/test/test_*.py | |
******************************************************************************** | |
inis/requirements.ini -> (Conflicting basepython for environment 'py27'; resolve conflict or configure ignore_basepython_conflict): ;https://github.com/openstack/requirements (repo modified: Thu, 12 Jul 2018 14:29:15 GMT) | |
;https://github.com/openstack/requirements (repo modified: Thu, 12 Jul 2018 14:29:15 GMT) | |
[tox] | |
minversion = 1.6 | |
skipsdist = True | |
envlist = validate,py27,pep8,pip-install | |
[testenv] | |
basepython = python3 | |
usedevelop = True | |
install_command = pip install -U {opts} {packages} | |
setenv = VIRTUAL_ENV={envdir} | |
deps = -r{toxinidir}/requirements.txt | |
-r{toxinidir}/test-requirements.txt | |
commands = | |
stestr run {posargs} | |
[testenv:py27-check-uc] | |
basepython = python2.7 | |
install_command = pip install -U {opts} -c {toxinidir}/upper-constraints.txt {packages} | |
deps = -r{toxinidir}/upper-constraints.txt | |
commands = check-conflicts {toxinidir}/upper-constraints.txt {toxinidir}/upper-constraints-xfails.txt | |
[testenv:py35-check-uc] | |
basepython = python3.5 | |
install_command = pip install -U {opts} -c {toxinidir}/upper-constraints.txt {packages} | |
deps = -r{toxinidir}/upper-constraints.txt | |
commands = check-conflicts {toxinidir}/upper-constraints.txt {toxinidir}/upper-constraints-xfails.txt | |
[testenv:py36-check-uc] | |
basepython = python3.6 | |
install_command = pip install -U {opts} -c {toxinidir}/upper-constraints.txt {packages} | |
deps = -r{toxinidir}/upper-constraints.txt | |
commands = check-conflicts {toxinidir}/upper-constraints.txt {toxinidir}/upper-constraints-xfails.txt | |
[testenv:venv] | |
commands = {posargs} | |
[testenv:update] | |
commands = update-requirements {posargs} | |
[testenv:generate] | |
commands = generate-constraints {posargs} | |
[testenv:validate] | |
commands = | |
validate-constraints {toxinidir}/global-requirements.txt {toxinidir}/upper-constraints.txt {toxinidir}/blacklist.txt | |
[testenv:validate-projects] | |
commands = validate-projects {toxinidir}/projects.txt | |
# TODO remove once zuul reconfigured to run linters on gate | |
[testenv:pep8] | |
deps = {[testenv:linters]deps} | |
whitelist_externals = {[testenv:linters]whitelist_externals} | |
commands = {[testenv:linters]commands} | |
[testenv:linters] | |
deps = | |
hacking>=1.0.0 | |
bashate>=0.5.1 | |
whitelist_externals = bash | |
basepython = python3 | |
commands = | |
flake8 | |
bash -c "find {toxinidir}/tools \ | |
-type f \ | |
-name \*.sh \ | |
-print0 | xargs -0 bashate -v -iE006,E010" | |
[testenv:bindep] | |
# Do not install any requirements. We want this to be fast and work even if | |
# system dependencies are missing, since it's used to tell you what system | |
# dependencies are missing! This also means that bindep must be installed | |
# separately, outside of the requirements files, and develop mode disabled | |
# explicitly to avoid unnecessarily installing the checked-out repo too (this | |
# further relies on "tox.skipsdist = True" above). | |
deps = bindep | |
commands = bindep test | |
usedevelop = False | |
[testenv:docs] | |
commands = python setup.py build_sphinx | |
[testenv:pip-install] | |
recreate = True | |
deps = . | |
install_command = pip install {opts} {packages} | |
commands = python {toxinidir}/tools/check-install.py | |
[testenv:py34] | |
basepython = python3.4 | |
[testenv:py35] | |
basepython = python3.5 | |
[testenv:py36] | |
basepython = python3.6 | |
[testenv:requirements-check] | |
basepython = python3 | |
deps = -r{toxinidir}/requirements.txt | |
commands = | |
{toxinidir}/playbooks/files/project-requirements-change.py --local {posargs} | |
[testenv:babel] | |
# Use the local upper-constraints.txt file | |
deps = Babel | |
install_command = pip install -c upper-constraints.txt {opts} {packages} | |
commands = {toxinidir}/tools/babel-test.sh | |
[flake8] | |
exclude = .venv,.git,.tox,dist,doc,*egg,build | |
******************************************************************************** | |
inis/molecule-bugreport.ini -> (Conflicting basepython for environment 'py27-ansible24'; resolve conflict or configure ignore_basepython_conflict): ;https://github.com/infothrill/molecule-bugreport (repo modified: Sat, 14 Jul 2018 06:21:31 GMT) | |
;https://github.com/infothrill/molecule-bugreport (repo modified: Sat, 14 Jul 2018 06:21:31 GMT) | |
[tox] | |
minversion = 1.8 | |
envlist = py{27}-ansible{24,25,26} | |
skipsdist = true | |
[testenv] | |
# ansible only supports python3 in versions >= 2.5 | |
basepython = python2 | |
passenv = * | |
deps = | |
-rrequirements.txt | |
ansible24: ansible>=2.4,<2.5 | |
ansible24: docker==3.4.1 | |
ansible25: ansible>=2.5,<2.6 | |
ansible25: docker==3.4.1 | |
ansible26: ansible>=2.6,<2.7 | |
ansible26: docker==3.4.1 | |
commands = | |
pip list | |
molecule --version | |
ansible --version | |
ansible-lint --version | |
molecule test | |
******************************************************************************** | |
inis/nginx_aws_cognito.ini -> (Conflicting basepython for environment 'py36'; resolve conflict or configure ignore_basepython_conflict): ;https://github.com/gchiesa/nginx_aws_cognito (repo modified: Sat, 14 Jul 2018 15:05:19 GMT) | |
;https://github.com/gchiesa/nginx_aws_cognito (repo modified: Sat, 14 Jul 2018 15:05:19 GMT) | |
[tox] | |
;envlist = py36, flake8 | |
envlist = py36 | |
tox_pyenv_fallback=False | |
[travis] | |
python = | |
3.6: py36 | |
3.5: py35 | |
3.4: py34 | |
2.7: py27 | |
[testenv:flake8] | |
basepython = python | |
deps = flake8 | |
commands = flake8 nginx_aws_cognito | |
[testenv] | |
basepython = python | |
setenv = | |
PYTHONPATH = {toxinidir} | |
deps = | |
-r{toxinidir}/requirements_dev.txt | |
-r{toxinidir}/requirements.txt | |
; If you want to make tox run the tests with the same versions, create a | |
; requirements.txt with the pinned versions and uncomment the following line: | |
; -r{toxinidir}/requirements.txt | |
install_command = pip install --upgrade {packages} | |
commands = | |
pip install -U pip | |
py.test --basetemp={envtmpdir} --html=report.html --self-contained-html | |
******************************************************************************** | |
inis/greenstack.ini -> (Conflicting basepython for environment 'x-py27'; resolve conflict or configure ignore_basepython_conflict): ;https://github.com/tbodt/greenstack (repo modified: Fri, 09 Sep 2016 05:44:01 GMT) | |
;https://github.com/tbodt/greenstack (repo modified: Fri, 09 Sep 2016 05:44:01 GMT) | |
[testenv] | |
commands={envpython} run-tests.py -nq | |
sitepackages=False | |
# this is 32 bit only | |
[testenv:x-py25] | |
basepython=/usr/bin/python2.5 | |
# test both 32 bit and 64 bit on OS X | |
[testenv:x-py26] | |
commands=/usr/bin/arch -i386 {envpython} run-tests.py -qn | |
/usr/bin/arch -x86_64 {envpython} run-tests.py -qn | |
basepython=/usr/bin/python2.6 | |
[testenv:x-py27] | |
commands=/usr/bin/arch -i386 {envpython} run-tests.py -qn | |
/usr/bin/arch -x86_64 {envpython} run-tests.py -qn | |
basepython=/usr/bin/python2.7 | |
# test with specific gcc version on OS X | |
[testenv:x-py26-gcc40] | |
commands=/usr/bin/arch -i386 {envpython} run-tests.py -qn | |
/usr/bin/arch -x86_64 {envpython} run-tests.py -qn | |
basepython=/usr/bin/python2.6 | |
setenv= | |
CC=gcc-4.0 | |
[testenv:x-py26-gcc42] | |
commands=/usr/bin/arch -i386 {envpython} run-tests.py -qn | |
/usr/bin/arch -x86_64 {envpython} run-tests.py -qn | |
basepython=/usr/bin/python2.6 | |
setenv= CC=gcc-4.2 | |
[testenv:docs] | |
deps=docutils | |
sphinx | |
commands=make html | |
changedir={toxinidir}/doc | |
******************************************************************************** | |
inis/dyndns.ini -> (Conflicting basepython for environment 'py3'; resolve conflict or configure ignore_basepython_conflict): ;https://github.com/Josef-Friedrich/dyndns (repo modified: Sat, 07 Jul 2018 17:59:51 GMT) | |
;https://github.com/Josef-Friedrich/dyndns (repo modified: Sat, 07 Jul 2018 17:59:51 GMT) | |
[tox] | |
envlist = py3, docs, flake8 | |
[testenv] | |
basepython = python3.6 | |
deps = | |
beautifulsoup4 | |
nose | |
commands = nosetests | |
[testenv:docs] | |
basepython = python3.6 | |
deps = | |
sphinx | |
sphinx_rtd_theme | |
sphinx_argparse | |
commands = | |
./_generate_readme.py | |
sphinx-build -W -q -b html doc/source {envtmpdir}/html | |
[testenv:flake8] | |
basepython = python3.6 | |
deps = flake8 | |
commands = flake8 dyndns test | |
******************************************************************************** | |
inis/pbrx.ini -> (Conflicting basepython for environment 'py36'; resolve conflict or configure ignore_basepython_conflict): ;https://github.com/openstack/pbrx (repo modified: Wed, 11 Jul 2018 16:56:30 GMT) | |
;https://github.com/openstack/pbrx (repo modified: Wed, 11 Jul 2018 16:56:30 GMT) | |
[tox] | |
minversion = 2.0 | |
envlist = py35,py36,pep8 | |
skipsdist = True | |
[testenv] | |
usedevelop = True | |
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 | |
commands = stestr run {posargs} | |
basepython = python3 | |
[testenv:pep8] | |
commands = flake8 {posargs} | |
[testenv:venv] | |
commands = {posargs} | |
[testenv:cover] | |
setenv = | |
VIRTUAL_ENV={envdir} | |
PYTHON=coverage run --source pbrx --parallel-mode | |
commands = | |
stestr run {posargs} | |
coverage combine | |
coverage html -d cover | |
coverage xml -o cover/coverage.xml | |
[testenv:docs] | |
commands = | |
sphinx-build -a -E -W -d doc/build/doctrees -b html doc/source doc/build/html | |
[testenv:releasenotes] | |
commands = | |
sphinx-build -a -E -W -d releasenotes/build/doctrees -b html releasenotes/source releasenotes/build/html | |
[flake8] | |
max-line-length = 88 | |
show-source = True | |
builtins = _ | |
exclude=.venv,.git,.tox,dist,doc,*lib/python*,*egg,build | |
******************************************************************************** | |
inis/charm-ceph-mon.ini -> (Conflicting basepython for environment 'py36'; resolve conflict or configure ignore_basepython_conflict): ;https://github.com/openstack/charm-ceph-mon (repo modified: Thu, 12 Jul 2018 06:28:12 GMT) | |
;https://github.com/openstack/charm-ceph-mon (repo modified: Thu, 12 Jul 2018 06:28:12 GMT) | |
# Classic charm: ./tox.ini | |
# This file is managed centrally by release-tools and should not be modified | |
# within individual charm repos. | |
[tox] | |
;envlist = pep8,py27,py35,py36 | |
envlist = pep8,py27,py35 | |
skipsdist = True | |
;skip_missing_interpreters = True | |
[testenv] | |
setenv = VIRTUAL_ENV={envdir} | |
PYTHONHASHSEED=0 | |
CHARM_DIR={envdir} | |
AMULET_SETUP_TIMEOUT=5400 | |
install_command = | |
pip install {opts} {packages} | |
commands = ostestr {posargs} | |
whitelist_externals = juju | |
passenv = HOME TERM AMULET_* CS_API_* | |
[testenv:py27] | |
basepython = python2.7 | |
deps = -r{toxinidir}/requirements.txt | |
-r{toxinidir}/test-requirements.txt | |
# temporarily disable py27 | |
commands = /bin/true | |
; keep zuul happy until we change the py35 job | |
[testenv:py35] | |
basepython = python3 | |
deps = -r{toxinidir}/requirements.txt | |
-r{toxinidir}/test-requirements.txt | |
[testenv:py36] | |
basepython = python3 | |
deps = -r{toxinidir}/requirements.txt | |
-r{toxinidir}/test-requirements.txt | |
[testenv:pep8] | |
basepython = python2.7 | |
deps = -r{toxinidir}/requirements.txt | |
-r{toxinidir}/test-requirements.txt | |
commands = flake8 {posargs} hooks unit_tests tests actions lib | |
charm-proof | |
[testenv:venv] | |
commands = {posargs} | |
[testenv:func27-noop] | |
# DRY RUN - For Debug | |
basepython = python2.7 | |
deps = -r{toxinidir}/requirements.txt | |
-r{toxinidir}/test-requirements.txt | |
commands = | |
bundletester -vl DEBUG -r json -o func-results.json --test-pattern "gate-*" -n --no-destroy | |
[testenv:func27] | |
# Charm Functional Test | |
# Run all gate tests which are +x (expected to always pass) | |
basepython = python2.7 | |
deps = -r{toxinidir}/requirements.txt | |
-r{toxinidir}/test-requirements.txt | |
commands = | |
bundletester -vl DEBUG -r json -o func-results.json --test-pattern "gate-*" --no-destroy | |
[testenv:func27-smoke] | |
# Charm Functional Test | |
# Run a specific test as an Amulet smoke test (expected to always pass) | |
basepython = python2.7 | |
deps = -r{toxinidir}/requirements.txt | |
-r{toxinidir}/test-requirements.txt | |
commands = | |
bundletester -vl DEBUG -r json -o func-results.json gate-basic-bionic-queens --no-destroy | |
[testenv:func27-dfs] | |
# Charm Functional Test | |
# Run all deploy-from-source tests which are +x (may not always pass!) | |
basepython = python2.7 | |
deps = -r{toxinidir}/requirements.txt | |
-r{toxinidir}/test-requirements.txt | |
commands = | |
bundletester -vl DEBUG -r json -o func-results.json --test-pattern "dfs-*" --no-destroy | |
[testenv:func27-dev] | |
# Charm Functional Test | |
# Run all development test targets which are +x (may not always pass!) | |
basepython = python2.7 | |
deps = -r{toxinidir}/requirements.txt | |
-r{toxinidir}/test-requirements.txt | |
commands = | |
bundletester -vl DEBUG -r json -o func-results.json --test-pattern "dev-*" --no-destroy | |
[flake8] | |
ignore = E402,E226 | |
exclude = */charmhelpers | |
******************************************************************************** | |
inis/airship-pegleg.ini -> (Conflicting basepython for environment 'py36'; resolve conflict or configure ignore_basepython_conflict): ;https://github.com/openstack/airship-pegleg (repo modified: Wed, 11 Jul 2018 00:59:16 GMT) | |
;https://github.com/openstack/airship-pegleg (repo modified: Wed, 11 Jul 2018 00:59:16 GMT) | |
[tox] | |
envlist = py35, py36, pep8 | |
skipsdist = True | |
[testenv] | |
deps = | |
-r{toxinidir}/requirements.txt | |
-r{toxinidir}/test-requirements.txt | |
basepython=python3 | |
whitelist_externals = | |
find | |
commands = | |
find . -type f -name "*.pyc" -delete | |
pytest \ | |
{posargs} | |
[testenv:fmt] | |
deps = yapf==0.20.0 | |
commands = | |
yapf --style=pep8 -ir {toxinidir}/pegleg {toxinidir}/tests | |
[testenv:pep8] | |
deps = | |
yapf==0.20.0 | |
flake8==3.5.0 | |
commands = | |
yapf -rd {toxinidir}/pegleg {toxinidir}/tests | |
flake8 {toxinidir}/pegleg | |
[testenv:bandit] | |
commands = bandit -r pegleg -n 5 | |
[flake8] | |
ignore = E125,E251,W503 | |
******************************************************************************** | |
inis/ansible-role-hd_idle.ini -> (Conflicting basepython for environment 'py27-ansible24'; resolve conflict or configure ignore_basepython_conflict): ;https://github.com/infothrill/ansible-role-hd_idle (repo modified: Thu, 12 Jul 2018 22:11:39 GMT) | |
;https://github.com/infothrill/ansible-role-hd_idle (repo modified: Thu, 12 Jul 2018 22:11:39 GMT) | |
[tox] | |
minversion = 1.8 | |
envlist = py{27}-ansible{24,25,26} | |
skipsdist = true | |
[testenv] | |
# ansible only supports python3 in versions >= 2.5 | |
basepython = python2 | |
passenv = * | |
deps = | |
-rrequirements.txt | |
ansible24: ansible>=2.4,<2.5 | |
ansible25: ansible>=2.5,<2.6 | |
ansible26: ansible>=2.6,<2.7 | |
commands = | |
pip list | |
molecule --version | |
ansible --version | |
ansible-lint --version | |
./run_molecule.sh | |
[travis] | |
os = | |
linux: py{27}-ansible{24,25,26} | |
[travis:env] | |
ANSIBLE = | |
2.4: ansible24 | |
2.5: ansible25 | |
2.6: ansible26 | |
******************************************************************************** | |
inis/designate.ini -> (Conflicting basepython for environment 'py35'; resolve conflict or configure ignore_basepython_conflict): ;https://github.com/openstack/designate (repo modified: Tue, 10 Jul 2018 15:11:03 GMT) | |
;https://github.com/openstack/designate (repo modified: Tue, 10 Jul 2018 15:11:03 GMT) | |
[tox] | |
minversion = 2.0 | |
envlist = py35,py27,flake8 | |
skipsdist = True | |
[testenv] | |
usedevelop = True | |
install_command = pip install -c{env:UPPER_CONSTRAINTS_FILE:https://git.openstack.org/cgit/openstack/requirements/plain/upper-constraints.txt?h=master} {opts} {packages} | |
deps = -r{toxinidir}/requirements.txt | |
-r{toxinidir}/test-requirements.txt | |
setenv = | |
PYTHONDONTWRITEBYTECODE=1 | |
whitelist_externals = sh | |
find | |
rm | |
commands = | |
find . -type f -name "*.py[c|o]" -delete | |
rm -f .testrepository/times.dbm | |
passenv = http_proxy | |
HTTP_PROXY | |
https_proxy | |
HTTPS_PROXY | |
no_proxy | |
NO_PROXY | |
OS_DEBUG | |
OS_LOG_CAPTURE | |
OS_STDERR_CAPTURE | |
OS_STDOUT_CAPTURE | |
[testenv:py27] | |
commands = | |
{[testenv]commands} | |
stestr run '{posargs}' | |
stestr slowest | |
[testenv:py35] | |
basepython = python3 | |
commands = | |
{[testenv]commands} | |
stestr run '{posargs}' | |
[testenv:docs] | |
basepython = python3 | |
deps = | |
-c{env:UPPER_CONSTRAINTS_FILE:https://git.openstack.org/cgit/openstack/requirements/plain/upper-constraints.txt} | |
-r{toxinidir}/requirements.txt | |
-r{toxinidir}/doc/requirements.txt | |
commands = | |
rm -rf doc/build | |
sphinx-build -W -b html doc/source doc/build/html | |
[testenv:cover] | |
basepython = python3 | |
setenv = | |
{[testenv]setenv} | |
PYTHON=coverage run --source designate --parallel-mode | |
commands = | |
coverage erase | |
find . -type f -name "*.pyc" -delete | |
stestr run --no-subunit-trace {posargs} | |
coverage combine | |
coverage report --skip-covered | |
coverage html -d cover | |
coverage xml -o cover/coverage.xml | |
[testenv:bandit] | |
basepython = python3 | |
deps = -r{toxinidir}/test-requirements.txt | |
commands = bandit -r designate -n5 -x tests -t \ | |
B111,B505,B504,B503,B502,B501,B604,B605,B001,B601,B602,B701,B609,B702,\ | |
B608,B506,B312,B310,B411,B109,B108,B103,B102,B309,B308,B302,B307,B306 | |
[testenv:debug] | |
basepython = python3 | |
commands = oslo_debug_helper -t designate/tests {posargs} | |
[testenv:flake8] | |
basepython = python3 | |
deps = -r{toxinidir}/test-requirements.txt | |
commands = sh tools/pretty_flake8.sh | |
{[testenv:bandit]commands} | |
[testenv:pep8] | |
deps = -r{toxinidir}/test-requirements.txt | |
basepython = python3 | |
commands = sh tools/pretty_flake8.sh | |
{[testenv:bandit]commands} | |
doc8 {posargs} | |
[testenv:genconfig] | |
basepython = python3 | |
commands = oslo-config-generator --config-file=etc/designate/designate-config-generator.conf | |
[testenv:genpolicy] | |
basepython = python3 | |
commands = oslopolicy-sample-generator --config-file etc/designate/designate-policy-generator.conf | |
[testenv:bashate] | |
basepython = python3 | |
deps = bashate | |
whitelist_externals = bash | |
commands = bash -c "find {toxinidir}/devstack \ | |
-not \( -type d -name .?\* -prune \) \ | |
-not \( -type d -name doc -prune \) \ | |
-type f \ | |
-not -name \*~ \ | |
-not -name \*.md \ | |
\( \ | |
-name \*.sh -or \ | |
-name \*rc -or \ | |
-name functions\* -or \ | |
-wholename \*/lib/\* \ | |
\) \ | |
-print0 | xargs -0 bashate -v" | |
[testenv:pip-check-reqs] | |
basepython = python3 | |
# do not install test-requirements as that will pollute the virtualenv for | |
# determining missing packages | |
# this also means that pip-missing-reqs must be installed separately, outside | |
# of the requirements.txt files | |
deps = pip-check-reqs | |
-r{toxinidir}/requirements.txt | |
commands=pip-missing-reqs -d --ignore-file=designate/tests/* designate | |
[testenv:api-ref] | |
basepython = python3 | |
# This environment is called from CI scripts to test and publish | |
# the API Ref to developer.openstack.org. | |
# | |
# we do not used -W here because we are doing some slightly tricky | |
# things to build a single page document, and as such, we are ok | |
# ignoring the duplicate stanzas warning. | |
commands = | |
rm -rf api-ref/build | |
sphinx-build -E -W -b html -d api-ref/build/doctrees api-ref/source api-ref/build/html | |
[testenv:releasenotes] | |
basepython = python3 | |
deps = | |
-c{env:UPPER_CONSTRAINTS_FILE:https://git.openstack.org/cgit/openstack/requirements/plain/upper-constraints.txt} | |
-r{toxinidir}/requirements.txt | |
-r{toxinidir}/doc/requirements.txt | |
commands = | |
rm -rf releasenotes/build | |
sphinx-build -a -E -d releasenotes/build/doctrees -b html releasenotes/source releasenotes/build/html | |
[testenv:venv] | |
basepython = python3 | |
commands = {posargs} | |
[doc8] | |
ignore-path = .venv,.git,.tox,*designate/locale*,*lib/python*,*designate.egg*,api-ref/build,doc/build,doc/source/contributor/api | |
[flake8] | |
# ignored flake8 codes: | |
# H105 don't use author tags. We use version control instead | |
# H302 import only modules | |
# H306 imports not in alphabetical order | |
# H328 old style class declaration, use new style (inherit from `object`) | |
# H402 one line docstring needs punctuation | |
# H404 multi line docstring should start with a summary | |
# H405 multi line docstring summary not separated with an empty line | |
# H501 Do not use locals() or self.__dict__ for string formatting. | |
# H904 Wrap long lines in parentheses instead of a backslash | |
# E126 continuation line over-indented for hanging indent | |
# E128 continuation line under-indented for visual indent | |
ignore = H105,H302,H306,H238,H402,H404,H405,H501,H904,E126,E128 | |
exclude = .venv,.git,.tox,dist,doc,*lib/python*,*egg,build,tools,.ropeproject | |
[hacking] | |
local-check-factory = designate.hacking.checks.factory | |
import_exceptions = designate.i18n | |
[testenv:lower-constraints] | |
basepython = python3 | |
deps = | |
-c{toxinidir}/lower-constraints.txt | |
-r{toxinidir}/test-requirements.txt | |
-r{toxinidir}/requirements.txt | |
******************************************************************************** | |
inis/downstream_annotation.ini -> (Conflicting basepython for environment 'py27'; resolve conflict or configure ignore_basepython_conflict): ;https://github.com/EpiCompBio/downstream_annotation (repo modified: Mon, 09 Jul 2018 15:52:11 GMT) | |
;https://github.com/EpiCompBio/downstream_annotation (repo modified: Mon, 09 Jul 2018 15:52:11 GMT) | |
# See: https://pypi.python.org/pypi/tox | |
# https://tox.readthedocs.io/en/latest/ | |
#Tox is a generic virtualenv management and test command line tool you can use for: | |
# checking your package installs correctly with different Python versions and interpreters | |
# running your tests in each of the environments, configuring your test tool of choice | |
# acting as a frontend to Continuous Integration servers, greatly reducing boilerplate and merging CI and shell-based testing. | |
# content of: tox.ini , put in same dir as setup.py | |
[tox] | |
envlist = py27,py35 | |
[testenv] | |
deps= | |
nose | |
numpy | |
cython | |
pysam | |
bx-python | |
commands=nosetests tests/test_style.py tests/test_scripts.py | |
[testenv:py27] | |
basepython=/xxx/bin/python2.7 | |
[testenv:py35] | |
basepython=/xxx/bin/python3.5 | |
******************************************************************************** |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment