summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSorin Sbarnea <ssbarnea@redhat.com>2018-10-27 10:20:28 +0100
committerSorin Sbarnea <ssbarnea@redhat.com>2018-10-28 11:44:43 +0000
commit539d13e81610cbc70c948c74f1d064175ce55384 (patch)
tree8f4daa2d8d4cc21eef09a6a49e0e74291080b3fd
parent4652775214cd9cf0d63c9f936318aea38de16256 (diff)
Fix flake8 failures and make its execution more consistent
- upgrade flake8 to 3.6.0 - remove use of hacking since pre-commit replaced it - mentioned minimal flake8 version on pre-commit config - fixed newer linting errors - disable W504 as it seems not possible to fix (conflict with W403) - replaced buggy tox deps installation with native pip install, which address the issue of missing to install new deps when the reqs files are updated, developer being forced to to recreate the virtualenv. - prepare for migration from tox-pep8 to tox-linters, now these being just aliases. Change-Id: I310578dce215aaf00a5b2d54716f90da9a1ecb4d Depends-On: https://review.openstack.org/#/c/613726/
Notes
Notes (review): Code-Review+2: Thanh Ha (zxiiro) <zxiiro@gmail.com> Workflow+1: Thanh Ha (zxiiro) <zxiiro@gmail.com> Verified+2: Zuul Submitted-by: Zuul Submitted-at: Mon, 29 Oct 2018 14:25:14 +0000 Reviewed-on: https://review.openstack.org/613725 Project: openstack-infra/jenkins-job-builder Branch: refs/heads/master
-rw-r--r--.pre-commit-config.yaml5
-rwxr-xr-xjenkins_jobs/alphanum.py6
-rw-r--r--jenkins_jobs/cache.py2
-rw-r--r--jenkins_jobs/formatter.py2
-rw-r--r--jenkins_jobs/modules/builders.py18
-rw-r--r--jenkins_jobs/modules/project_multibranch.py6
-rw-r--r--jenkins_jobs/modules/publishers.py10
-rw-r--r--jenkins_jobs/modules/scm.py6
-rw-r--r--jenkins_jobs/sphinx/yaml.py2
-rw-r--r--setup.cfg4
-rw-r--r--test-requirements.txt3
-rw-r--r--tox.ini21
12 files changed, 50 insertions, 35 deletions
diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml
index ff6899a..9d14a14 100644
--- a/.pre-commit-config.yaml
+++ b/.pre-commit-config.yaml
@@ -2,10 +2,13 @@
2# See https://pre-commit.com/hooks.html for more hooks 2# See https://pre-commit.com/hooks.html for more hooks
3repos: 3repos:
4- repo: https://github.com/pre-commit/pre-commit-hooks 4- repo: https://github.com/pre-commit/pre-commit-hooks
5 rev: v1.2.1-1 5 rev: v2.0.0
6 hooks: 6 hooks:
7 - id: check-added-large-files 7 - id: check-added-large-files
8 - id: end-of-file-fixer 8 - id: end-of-file-fixer
9 - id: flake8 9 - id: flake8
10 args: ['--config=setup.cfg'] 10 args: ['--config=setup.cfg']
11 language: python
12 types: [python]
13 additional_dependencies: [flake8>=3.6.0]
11 - id: trailing-whitespace 14 - id: trailing-whitespace
diff --git a/jenkins_jobs/alphanum.py b/jenkins_jobs/alphanum.py
index 481a0a9..7eb44bf 100755
--- a/jenkins_jobs/alphanum.py
+++ b/jenkins_jobs/alphanum.py
@@ -32,9 +32,9 @@ sorted( foo, key=AlphanumSort)
32import re 32import re
33 33
34 34
35re_chunk = re.compile("([\D]+|[\d]+)") 35re_chunk = re.compile(r"([\D]+|[\d]+)")
36re_letters = re.compile("\D+") 36re_letters = re.compile(r"\D+")
37re_numbers = re.compile("\d+") 37re_numbers = re.compile(r"\d+")
38 38
39 39
40def getchunk(item): 40def getchunk(item):
diff --git a/jenkins_jobs/cache.py b/jenkins_jobs/cache.py
index 61a79e5..d64d6d9 100644
--- a/jenkins_jobs/cache.py
+++ b/jenkins_jobs/cache.py
@@ -43,7 +43,7 @@ class JobCache(object):
43 def __init__(self, jenkins_url, flush=False): 43 def __init__(self, jenkins_url, flush=False):
44 cache_dir = self.get_cache_dir() 44 cache_dir = self.get_cache_dir()
45 # One cache per remote Jenkins URL: 45 # One cache per remote Jenkins URL:
46 host_vary = re.sub('[^A-Za-z0-9\-\~]', '_', jenkins_url) 46 host_vary = re.sub(r'[^A-Za-z0-9\-\~]', '_', jenkins_url)
47 self.cachefilename = os.path.join( 47 self.cachefilename = os.path.join(
48 cache_dir, 'cache-host-jobs-' + host_vary + '.yml') 48 cache_dir, 'cache-host-jobs-' + host_vary + '.yml')
49 49
diff --git a/jenkins_jobs/formatter.py b/jenkins_jobs/formatter.py
index 9b1d064..bd2576b 100644
--- a/jenkins_jobs/formatter.py
+++ b/jenkins_jobs/formatter.py
@@ -81,7 +81,7 @@ class CustomFormatter(Formatter):
81 Custom formatter to allow non-existing key references when formatting a 81 Custom formatter to allow non-existing key references when formatting a
82 string 82 string
83 """ 83 """
84 _expr = """ 84 _expr = r"""
85 (?<!{){({{)* # non-pair opening { 85 (?<!{){({{)* # non-pair opening {
86 (?:obj:)? # obj: 86 (?:obj:)? # obj:
87 (?P<key>\w+) # key 87 (?P<key>\w+) # key
diff --git a/jenkins_jobs/modules/builders.py b/jenkins_jobs/modules/builders.py
index d116cf0..9a4e183 100644
--- a/jenkins_jobs/modules/builders.py
+++ b/jenkins_jobs/modules/builders.py
@@ -2888,7 +2888,7 @@ def cmake(registry, xml_parent, data):
2888 2888
2889 2889
2890def dsl(registry, xml_parent, data): 2890def dsl(registry, xml_parent, data):
2891 """yaml: dsl 2891 r"""yaml: dsl
2892 Process Job DSL 2892 Process Job DSL
2893 2893
2894 Requires the Jenkins :jenkins-wiki:`Job DSL plugin <Job+DSL+Plugin>`. 2894 Requires the Jenkins :jenkins-wiki:`Job DSL plugin <Job+DSL+Plugin>`.
@@ -3475,7 +3475,7 @@ def jms_messaging(registry, xml_parent, data):
3475 3475
3476 3476
3477def openshift_build_verify(registry, xml_parent, data): 3477def openshift_build_verify(registry, xml_parent, data):
3478 """yaml: openshift-build-verify 3478 r"""yaml: openshift-build-verify
3479 Performs the equivalent of an 'oc get builds` command invocation for the 3479 Performs the equivalent of an 'oc get builds` command invocation for the
3480 provided buildConfig key provided; once the list of builds are obtained, 3480 provided buildConfig key provided; once the list of builds are obtained,
3481 the state of the latest build is inspected for up to a minute to see if 3481 the state of the latest build is inspected for up to a minute to see if
@@ -3524,7 +3524,7 @@ def openshift_build_verify(registry, xml_parent, data):
3524 3524
3525 3525
3526def openshift_builder(registry, xml_parent, data): 3526def openshift_builder(registry, xml_parent, data):
3527 """yaml: openshift-builder 3527 r"""yaml: openshift-builder
3528 Perform builds in OpenShift for the job. 3528 Perform builds in OpenShift for the job.
3529 Requires the Jenkins :jenkins-wiki:`OpenShift 3529 Requires the Jenkins :jenkins-wiki:`OpenShift
3530 Pipeline Plugin <OpenShift+Pipeline+Plugin>`. 3530 Pipeline Plugin <OpenShift+Pipeline+Plugin>`.
@@ -3580,7 +3580,7 @@ def openshift_builder(registry, xml_parent, data):
3580 3580
3581 3581
3582def openshift_creator(registry, xml_parent, data): 3582def openshift_creator(registry, xml_parent, data):
3583 """yaml: openshift-creator 3583 r"""yaml: openshift-creator
3584 Performs the equivalent of an oc create command invocation; 3584 Performs the equivalent of an oc create command invocation;
3585 this build step takes in the provided JSON or YAML text, and if it 3585 this build step takes in the provided JSON or YAML text, and if it
3586 conforms to OpenShift schema, creates whichever 3586 conforms to OpenShift schema, creates whichever
@@ -3628,7 +3628,7 @@ def openshift_creator(registry, xml_parent, data):
3628 3628
3629 3629
3630def openshift_dep_verify(registry, xml_parent, data): 3630def openshift_dep_verify(registry, xml_parent, data):
3631 """yaml: openshift-dep-verify 3631 r"""yaml: openshift-dep-verify
3632 Determines whether the expected set of DeploymentConfig's, 3632 Determines whether the expected set of DeploymentConfig's,
3633 ReplicationController's, and active replicas are present based on prior 3633 ReplicationController's, and active replicas are present based on prior
3634 use of the scaler (2) and deployer (3) steps 3634 use of the scaler (2) and deployer (3) steps
@@ -3679,7 +3679,7 @@ def openshift_dep_verify(registry, xml_parent, data):
3679 3679
3680 3680
3681def openshift_deployer(registry, xml_parent, data): 3681def openshift_deployer(registry, xml_parent, data):
3682 """yaml: openshift-deployer 3682 r"""yaml: openshift-deployer
3683 Start a deployment in OpenShift for the job. 3683 Start a deployment in OpenShift for the job.
3684 Requires the Jenkins :jenkins-wiki:`OpenShift 3684 Requires the Jenkins :jenkins-wiki:`OpenShift
3685 Pipeline Plugin <OpenShift+Pipeline+Plugin>`. 3685 Pipeline Plugin <OpenShift+Pipeline+Plugin>`.
@@ -3725,7 +3725,7 @@ def openshift_deployer(registry, xml_parent, data):
3725 3725
3726 3726
3727def openshift_img_tagger(registry, xml_parent, data): 3727def openshift_img_tagger(registry, xml_parent, data):
3728 """yaml: openshift-img-tagger 3728 r"""yaml: openshift-img-tagger
3729 Performs the equivalent of an oc tag command invocation in order to 3729 Performs the equivalent of an oc tag command invocation in order to
3730 manipulate tags for images in OpenShift ImageStream's 3730 manipulate tags for images in OpenShift ImageStream's
3731 Requires the Jenkins :jenkins-wiki:`OpenShift 3731 Requires the Jenkins :jenkins-wiki:`OpenShift
@@ -3776,7 +3776,7 @@ def openshift_img_tagger(registry, xml_parent, data):
3776 3776
3777 3777
3778def openshift_scaler(registry, xml_parent, data): 3778def openshift_scaler(registry, xml_parent, data):
3779 """yaml: openshift-scaler 3779 r"""yaml: openshift-scaler
3780 Scale deployments in OpenShift for the job. 3780 Scale deployments in OpenShift for the job.
3781 Requires the Jenkins :jenkins-wiki:`OpenShift 3781 Requires the Jenkins :jenkins-wiki:`OpenShift
3782 Pipeline Plugin <OpenShift+Pipeline+Plugin>`. 3782 Pipeline Plugin <OpenShift+Pipeline+Plugin>`.
@@ -3823,7 +3823,7 @@ def openshift_scaler(registry, xml_parent, data):
3823 3823
3824 3824
3825def openshift_svc_verify(registry, xml_parent, data): 3825def openshift_svc_verify(registry, xml_parent, data):
3826 """yaml: openshift-svc-verify 3826 r"""yaml: openshift-svc-verify
3827 Verify a service is up in OpenShift for the job. 3827 Verify a service is up in OpenShift for the job.
3828 Requires the Jenkins :jenkins-wiki:`OpenShift 3828 Requires the Jenkins :jenkins-wiki:`OpenShift
3829 Pipeline Plugin <OpenShift+Pipeline+Plugin>`. 3829 Pipeline Plugin <OpenShift+Pipeline+Plugin>`.
diff --git a/jenkins_jobs/modules/project_multibranch.py b/jenkins_jobs/modules/project_multibranch.py
index bfe460e..3be0cf6 100644
--- a/jenkins_jobs/modules/project_multibranch.py
+++ b/jenkins_jobs/modules/project_multibranch.py
@@ -290,7 +290,7 @@ class WorkflowMultiBranchDefaults(WorkflowMultiBranch):
290 290
291 291
292def bitbucket_scm(xml_parent, data): 292def bitbucket_scm(xml_parent, data):
293 """Configure BitBucket scm 293 r"""Configure BitBucket scm
294 294
295 Requires the :jenkins-wiki:`Bitbucket Branch Source Plugin 295 Requires the :jenkins-wiki:`Bitbucket Branch Source Plugin
296 <Bitbucket+Branch+Source+Plugin>`. 296 <Bitbucket+Branch+Source+Plugin>`.
@@ -626,7 +626,7 @@ def gerrit_scm(xml_parent, data):
626 626
627 627
628def git_scm(xml_parent, data): 628def git_scm(xml_parent, data):
629 """Configure Git SCM 629 r"""Configure Git SCM
630 630
631 Requires the :jenkins-wiki:`Git Plugin <Git+Plugin>`. 631 Requires the :jenkins-wiki:`Git Plugin <Git+Plugin>`.
632 632
@@ -738,7 +738,7 @@ def git_scm(xml_parent, data):
738 738
739 739
740def github_scm(xml_parent, data): 740def github_scm(xml_parent, data):
741 """Configure GitHub SCM 741 r"""Configure GitHub SCM
742 742
743 Requires the :jenkins-wiki:`GitHub Branch Source Plugin 743 Requires the :jenkins-wiki:`GitHub Branch Source Plugin
744 <GitHub+Branch+Source+Plugin>`. 744 <GitHub+Branch+Source+Plugin>`.
diff --git a/jenkins_jobs/modules/publishers.py b/jenkins_jobs/modules/publishers.py
index d300a8d..70031f5 100644
--- a/jenkins_jobs/modules/publishers.py
+++ b/jenkins_jobs/modules/publishers.py
@@ -1658,7 +1658,7 @@ def violations(registry, xml_parent, data):
1658 1658
1659 1659
1660def findbugs(registry, xml_parent, data): 1660def findbugs(registry, xml_parent, data):
1661 """yaml: findbugs 1661 r"""yaml: findbugs
1662 FindBugs reporting for builds 1662 FindBugs reporting for builds
1663 1663
1664 Requires the Jenkins :jenkins-wiki:`FindBugs Plugin 1664 Requires the Jenkins :jenkins-wiki:`FindBugs Plugin
@@ -2962,7 +2962,7 @@ def sounds(parser, xml_parent, data):
2962 2962
2963 2963
2964def performance(registry, xml_parent, data): 2964def performance(registry, xml_parent, data):
2965 """yaml: performance 2965 r"""yaml: performance
2966 Publish performance test results from jmeter and junit. 2966 Publish performance test results from jmeter and junit.
2967 Requires the Jenkins :jenkins-wiki:`Performance Plugin 2967 Requires the Jenkins :jenkins-wiki:`Performance Plugin
2968 <Performance+Plugin>`. 2968 <Performance+Plugin>`.
@@ -4391,7 +4391,7 @@ def warnings(registry, xml_parent, data):
4391 4391
4392 4392
4393def sloccount(registry, xml_parent, data): 4393def sloccount(registry, xml_parent, data):
4394 """yaml: sloccount 4394 r"""yaml: sloccount
4395 Generates the trend report for SLOCCount 4395 Generates the trend report for SLOCCount
4396 4396
4397 Requires the Jenkins :jenkins-wiki:`SLOCCount Plugin <SLOCCount+Plugin>`. 4397 Requires the Jenkins :jenkins-wiki:`SLOCCount Plugin <SLOCCount+Plugin>`.
@@ -7220,7 +7220,7 @@ def jms_messaging(registry, xml_parent, data):
7220 7220
7221 7221
7222def openshift_build_canceller(registry, xml_parent, data): 7222def openshift_build_canceller(registry, xml_parent, data):
7223 """yaml: openshift-build-canceller 7223 r"""yaml: openshift-build-canceller
7224 This action is intended to provide cleanup for a Jenkins job which failed 7224 This action is intended to provide cleanup for a Jenkins job which failed
7225 because a build is hung (instead of terminating with a failure code); 7225 because a build is hung (instead of terminating with a failure code);
7226 this step will allow you to perform the equivalent of a oc cancel-build 7226 this step will allow you to perform the equivalent of a oc cancel-build
@@ -7271,7 +7271,7 @@ def openshift_build_canceller(registry, xml_parent, data):
7271 7271
7272 7272
7273def openshift_deploy_canceller(registry, xml_parent, data): 7273def openshift_deploy_canceller(registry, xml_parent, data):
7274 """yaml: openshift-deploy-canceller 7274 r"""yaml: openshift-deploy-canceller
7275 This action is intended to provide cleanup for any OpenShift deployments 7275 This action is intended to provide cleanup for any OpenShift deployments
7276 left running when the Job completes; this step will allow you to perform 7276 left running when the Job completes; this step will allow you to perform
7277 the equivalent of a oc deploy --cancel for the provided deployment config. 7277 the equivalent of a oc deploy --cancel for the provided deployment config.
diff --git a/jenkins_jobs/modules/scm.py b/jenkins_jobs/modules/scm.py
index 180c509..519550c 100644
--- a/jenkins_jobs/modules/scm.py
+++ b/jenkins_jobs/modules/scm.py
@@ -46,7 +46,7 @@ import jenkins_jobs.modules.helpers as helpers
46 46
47 47
48def git(registry, xml_parent, data): 48def git(registry, xml_parent, data):
49 """yaml: git 49 r"""yaml: git
50 Specifies the git SCM repository for this job. 50 Specifies the git SCM repository for this job.
51 Requires the Jenkins :jenkins-wiki:`Git Plugin <Git+Plugin>`. 51 Requires the Jenkins :jenkins-wiki:`Git Plugin <Git+Plugin>`.
52 52
@@ -994,7 +994,7 @@ def svn(registry, xml_parent, data):
994 994
995 995
996def tfs(registry, xml_parent, data): 996def tfs(registry, xml_parent, data):
997 """yaml: tfs 997 r"""yaml: tfs
998 Specifies the Team Foundation Server repository for this job. 998 Specifies the Team Foundation Server repository for this job.
999 Requires the Jenkins :jenkins-wiki:`Team Foundation Server Plugin 999 Requires the Jenkins :jenkins-wiki:`Team Foundation Server Plugin
1000 <Team+Foundation+Server+Plugin>`. 1000 <Team+Foundation+Server+Plugin>`.
@@ -1216,7 +1216,7 @@ def hg(self, xml_parent, data):
1216 1216
1217 1217
1218def openshift_img_streams(registry, xml_parent, data): 1218def openshift_img_streams(registry, xml_parent, data):
1219 """yaml: openshift-img-streams 1219 r"""yaml: openshift-img-streams
1220 Rather than a Build step extension plugin, this is an extension of the 1220 Rather than a Build step extension plugin, this is an extension of the
1221 Jenkins SCM plugin, where this baked-in polling mechanism provided by 1221 Jenkins SCM plugin, where this baked-in polling mechanism provided by
1222 Jenkins is leveraged by exposing some of the common semantics between 1222 Jenkins is leveraged by exposing some of the common semantics between
diff --git a/jenkins_jobs/sphinx/yaml.py b/jenkins_jobs/sphinx/yaml.py
index d12fa58..2c7083f 100644
--- a/jenkins_jobs/sphinx/yaml.py
+++ b/jenkins_jobs/sphinx/yaml.py
@@ -29,7 +29,7 @@ from sphinx.ext.autodoc import FunctionDocumenter
29from sphinx.locale import _ 29from sphinx.locale import _
30 30
31 31
32yaml_sig_re = re.compile('yaml:\s*(.*)') 32yaml_sig_re = re.compile(r'yaml:\s*(.*)')
33 33
34 34
35class PyYAMLFunction(PyModulelevel): 35class PyYAMLFunction(PyModulelevel):
diff --git a/setup.cfg b/setup.cfg
index 82caa88..e642b42 100644
--- a/setup.cfg
+++ b/setup.cfg
@@ -101,6 +101,8 @@ jenkins_jobs.modules =
101[flake8] 101[flake8]
102# These are ignored intentionally in openstack-infra projects; please 102# These are ignored intentionally in openstack-infra projects; please
103# don't submit patches that solely correct them or enable them. 103# don't submit patches that solely correct them or enable them.
104ignore = E125,E128,H 104# W504 is controversial an apparently conflicting with W503, being impossible
105# to solve both of them while still keeping the line length limited.
106ignore = E125,E128,H,W504
105show-source = True 107show-source = True
106exclude = .virtualenv,.venv,.tox,dist,build,*.egg,.test 108exclude = .virtualenv,.venv,.tox,dist,build,*.egg,.test
diff --git a/test-requirements.txt b/test-requirements.txt
index da8910b..37767a6 100644
--- a/test-requirements.txt
+++ b/test-requirements.txt
@@ -1,7 +1,6 @@
1# The order of packages is significant, because pip processes them in the order 1# The order of packages is significant, because pip processes them in the order
2# of appearance. Changing the order has an impact on the overall integration 2# of appearance. Changing the order has an impact on the overall integration
3# process, which may cause wedges in the gate later. 3# process, which may cause wedges in the gate later.
4hacking>=1.1.0 # Apache-2.0
5 4
6coverage>=4.0 # Apache-2.0 5coverage>=4.0 # Apache-2.0
7fixtures>=3.0.0 # Apache-2.0/BSD 6fixtures>=3.0.0 # Apache-2.0/BSD
@@ -13,4 +12,4 @@ stestr>=2.0.0 # Apache-2.0/BSD
13tox>=2.9.1 # MIT 12tox>=2.9.1 # MIT
14mock>=2.0 # BSD 13mock>=2.0 # BSD
15sphinxcontrib-programoutput 14sphinxcontrib-programoutput
16pre-commit 15pre-commit>=1.12.0
diff --git a/tox.ini b/tox.ini
index da193c0..8f2a9d8 100644
--- a/tox.ini
+++ b/tox.ini
@@ -1,7 +1,9 @@
1[tox] 1[tox]
2minversion = 2.2 2minversion = 2.2
3envlist = docs, pep8, py34, py35, py36, py27, cover 3envlist = linters, docs, py34, py35, py36, py27, cover
4skip_missing_interpreters = true 4skip_missing_interpreters = true
5# custom vars (no meaning to tox)
6install_test_deps = pip install -q -r test-requirements.txt
5 7
6[testenv] 8[testenv]
7setenv = 9setenv =
@@ -11,11 +13,11 @@ setenv =
11 VIRTUAL_ENV={envdir} 13 VIRTUAL_ENV={envdir}
12usedevelop = True 14usedevelop = True
13install_command = pip install {opts} {packages} 15install_command = pip install {opts} {packages}
14deps = -r{toxinidir}/test-requirements.txt
15# cleanup is needed mostly for dev environmnts and assures that if dev 16# cleanup is needed mostly for dev environmnts and assures that if dev
16# is switching branch, no lefovers will impact execution. 17# is switching branch, no lefovers will impact execution.
17# No git commands here because test should run even from a source archive. 18# No git commands here because test should run even from a source archive.
18commands = 19commands =
20 {[tox]install_test_deps}
19 - find . -type f -name "*.pyc" -delete 21 - find . -type f -name "*.pyc" -delete
20 - find . -type d -name "__pycache__" -delete 22 - find . -type d -name "__pycache__" -delete
21 # test that we can call jjb using both variants with same results 23 # test that we can call jjb using both variants with same results
@@ -39,15 +41,22 @@ setenv =
39 {[testenv]setenv} 41 {[testenv]setenv}
40 PYTHON=coverage run --source jenkins_jobs --parallel-mode 42 PYTHON=coverage run --source jenkins_jobs --parallel-mode
41commands = 43commands =
44 {[tox]install_test_deps}
42 stestr run {posargs} 45 stestr run {posargs}
43 coverage combine 46 coverage combine
44 coverage html -d cover 47 coverage html -d cover
45 coverage xml -o cover/coverage.xml 48 coverage xml -o cover/coverage.xml
46 49
47[testenv:pep8] 50[testenv:linters]
48basepython = python3 51basepython = python3
49commands = 52commands =
50 python -m pre_commit run --all 53 {[tox]install_test_deps}
54 python -m pre_commit run --all
55
56# points to linters, kept only for developer convenience
57[testenv:pep8]
58envdir={toxworkdir}/linters
59commands = {[testenv:linters]commands}
51 60
52[testenv:pyflakes] 61[testenv:pyflakes]
53deps = pyflakes 62deps = pyflakes
@@ -63,7 +72,9 @@ commands = jenkins-jobs test -o .test/old/out/ .test/old/config/
63commands = jenkins-jobs test -o .test/new/out/ .test/new/config/ 72commands = jenkins-jobs test -o .test/new/out/ .test/new/config/
64 73
65[testenv:docs] 74[testenv:docs]
66commands = python setup.py build_sphinx {posargs} 75commands =
76 {[tox]install_test_deps}
77 python setup.py build_sphinx {posargs}
67 78
68[testenv:docs-linkcheck] 79[testenv:docs-linkcheck]
69# If you are behind a proxy, for this test to work you will need to set 80# If you are behind a proxy, for this test to work you will need to set