fc73cedb45
This commit intentionally introduces a number of important API breakages. Specifically, the jenkins_jobs.cmd module has been pared down to some of its most difficult-to-refactor elements. * Create jenkins_jobs.cli.entry.JenkinsJobs class to organize command line parsing and execution. * Remove references to ConfigParser object in test code, hidden as an implementation detail of JenkinsJobs command line parsing. This will be necessary in the next stage of JJB 2.0 code which will be to create a JJBConfig object that handles logic and presentation of configuration from various sources--defaults, command line arguments, configuration file, and maybe environment variables in the future. * Remove references to Namespace object produced by argparse module. Required rewrite of multipath & recursive path tests with a new MatchesDir testtools Matcher class that validates the expected output for a run of JJB against a given set of yamldirs with the specified command line arguments. * Use stevedore to dynamically load subcommand parsers. * Move configuration loading/testing to its own test file. Also fix the global vs home directory JJB config file test. Change-Id: If62280418ba7319c313033ab387af4284237747e
53 lines
1.4 KiB
INI
53 lines
1.4 KiB
INI
[tox]
|
|
minversion = 1.6
|
|
envlist = pep8, py34, py27
|
|
|
|
[testenv]
|
|
# Note(Vek): JJB is not compatible with a non-zero PYTHONHASHSEED
|
|
setenv = VIRTUAL_ENV={envdir}
|
|
SUBUNIT_FORMATTER=tee testr_subunit_log
|
|
OS_STDOUT_NOCAPTURE=False
|
|
PYTHONHASHSEED=0
|
|
LANG=en_US.UTF-8
|
|
usedevelop = True
|
|
install_command = pip install {opts} {packages}
|
|
deps = -r{toxinidir}/test-requirements.txt
|
|
commands = python setup.py testr --slowest --testr-args='{posargs}'
|
|
|
|
[testenv:cover]
|
|
commands =
|
|
python setup.py test --coverage --coverage-package-name=jenkins_jobs
|
|
coverage report
|
|
|
|
[testenv:pep8]
|
|
commands = flake8
|
|
|
|
[testenv:pyflakes]
|
|
deps = pyflakes
|
|
commands = pyflakes jenkins_jobs tests setup.py
|
|
|
|
[testenv:compare-xml-config]
|
|
commands = jenkins-jobs {posargs:test -o .test/run-conf/default/out/ .test/run-conf/config/}
|
|
|
|
[testenv:compare-xml-old]
|
|
commands = jenkins-jobs test -o .test/old/out/ .test/old/config/
|
|
|
|
[testenv:compare-xml-new]
|
|
commands = jenkins-jobs test -o .test/new/out/ .test/new/config/
|
|
|
|
[testenv:docs]
|
|
commands = python setup.py build_sphinx {posargs}
|
|
|
|
[testenv:docs-linkcheck]
|
|
commands = python setup.py build_sphinx -b linkcheck
|
|
|
|
[testenv:venv]
|
|
commands = {posargs}
|
|
|
|
[flake8]
|
|
# These are ignored intentionally in openstack-infra projects; please
|
|
# don't submit patches that solely correct them or enable them.
|
|
ignore = E125,H
|
|
show-source = True
|
|
exclude = .virtualenv,.venv,.tox,dist,doc,build,*.egg,.test
|