forked from ansible-community/pytest-molecule
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathtox.ini
102 lines (98 loc) · 3.23 KB
/
tox.ini
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
# For more information about tox, see https://tox.readthedocs.io/en/latest/
[tox]
minversion = 3.9.0
envlist =
linters
devel
packaging
py{36,37,38,39}
skipsdist = True
isolated_build = True
[testenv]
description =
Unit testing
install_command =
python -c 'import subprocess, sys; pip_inst_cmd = sys.executable, "-m", "pip", "install"; subprocess.check_call(pip_inst_cmd + ("pip<19.1", )); subprocess.check_call(pip_inst_cmd + tuple(sys.argv[1:]))' {opts} {packages}
usedevelop = True
commands =
ansible-inventory --graph
pytest --collect-only
# pytest already needs built wheel in dist/
pytest --color=yes --html={envlogdir}/reports.html --self-contained-html {tty:-s} --molecule-unavailable-driver= -k foo
# all extras installed in order to detect potential conflicts
extras =
ansi
docker
podman
vagrant
deps =
py{36,37,38,39}: molecule[test,docker]>=3.1.0a2
devel: git+https://github.com/pycontribs/ansi2html.git#egg=ansi2html
devel: git+https://github.com/pytest-dev/pytest-html.git#egg=pytest-html
devel: git+https://github.com/ansible-community/molecule#egg=molecule[test,docker]
devel: ansible>=2.10.0a2
setenv =
ANSIBLE_FORCE_COLOR={env:ANSIBLE_FORCE_COLOR:1}
# ANSIBLE_INVENTORY={env:ANSIBLE_INVENTORY:{toxinidir}/../zuul-infra/inventory.yml}
ANSIBLE_INVENTORY={env:ANSIBLE_INVENTORY:{toxinidir}/tests/hosts.ini}
ANSIBLE_CONFIG={toxinidir}/ansible.cfg
ANSIBLE_NOCOWS=1
ANSIBLE_RETRY_FILES_ENABLED=0
ANSIBLE_STDOUT_CALLBACK={env:ANSIBLE_STDOUT_CALLBACK:debug}
ANSIBLE_VERBOSITY={env:ANSIBLE_VERBOSITY:0}
PIP_DISABLE_PIP_VERSION_CHECK=1
PIP_USE_FEATURE=2020-resolver
PY_COLORS={env:PY_COLORS:1}
# pip: Avoid 2020-01-01 warnings: https://github.com/pypa/pip/issues/6207
PYTHONWARNINGS=ignore:DEPRECATION::pip._internal.cli.base_command
PYTHONDONTWRITEBYTECODE=1
# This should pass these args to molecule, no effect here as this is the default
# but it validates that it accepts extra params.
MOLECULE_OPTS=--destroy always
passenv =
CI
CURL_CA_BUNDLE
DOCKER_*
PYTEST_*
REQUESTS_CA_BUNDLE
SSH_AUTH_SOCK
SSL_CERT_FILE
TOXENV
TWINE_*
whitelist_externals =
ansible-inventory
bash
twine
pytest
pre-commit
rm
[testenv:linters]
description = Performs linting, style checks, metadata-validation, packaging
skip_install = true
deps =
pre-commit
commands =
pre-commit run -a
[testenv:packaging]
description =
Validate that we can install the wheel w/ or w/o extras on Ubuntu, Debian,
Fedora, RHEL 8 and CentOS 7 by using containers.
deps =
collective.checkdocs >= 0.2
pep517>=0.5.0
twine >= 2.0.0
# our distros molecule tests are using docker
extras =
docker
commands =
bash -c "rm -rf {toxinidir}/dist/ && mkdir -p {toxinidir}/dist/"
python -m pep517.build \
--source \
--binary \
--out-dir {toxinidir}/dist/ {toxinidir}
twine check dist/*
; pytest --capture=tee-sys --color=yes --html={envlogdir}/reports.html --self-contained-html {tty:-s} --molecule-unavailable-driver=driver_error tests/roles/ensure-ansible
[testenv:devel]
description= Unit testing using master branches of molecule and ansible
commands =
{[testenv]commands}