aboutsummaryrefslogtreecommitdiffstats
path: root/tox.ini
diff options
context:
space:
mode:
authorVratko Polak <vrpolak@cisco.com>2018-09-14 17:09:35 +0200
committerVratko Polak <vrpolak@cisco.com>2019-02-27 09:02:55 +0000
commit694b418272e9d7670ac69d477ed731bb7445b65a (patch)
tree2ec006cb61562bddabbf4cd68ba8ef5963694768 /tox.ini
parent228c27de3986731fc6be39445dd0b23b4003d78c (diff)
Add tox.ini and few checker scripts
The plan is to change csit-validate-pylint-master job to fail if (and only if) tox fails. This will allow us to easily add checks, with or without the voting power. Each check produces log (ignored in .gitignore) the voting job can archive. + Made autogen quiet by default, to avoid spam in autogen checker. + Unified the way direct csit subdirectories are git-ignored. Change-Id: I6477b1ef7da6d3e30f68c5850d04900cc52f431e Signed-off-by: Vratko Polak <vrpolak@cisco.com>
Diffstat (limited to 'tox.ini')
-rw-r--r--tox.ini70
1 files changed, 70 insertions, 0 deletions
diff --git a/tox.ini b/tox.ini
new file mode 100644
index 0000000000..0fd8645328
--- /dev/null
+++ b/tox.ini
@@ -0,0 +1,70 @@
+# Copyright (c) 2019 Cisco and/or its affiliates.
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at:
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+# Idea of this file is motivated by OpenDylight,
+# especially its Integration/Test sub-project.
+
+# This file requires active virtualenv with tox package installed,
+# or python-tox system package installed.
+
+# Usage:
+# cd to CSIT root (other directories might use different tox.ini)
+# $ tox
+# will execute all checks.
+# $ tox -e pylint
+# will execute only checks defined in "pylint" tox environment.
+
+[tox]
+envlist = linelength, autogen, pylint
+# The following is needed as tox requires setup.py by default.
+skipsdist = true
+
+# TODO: Tox prints various warnings.
+# Figure out what they are about and fix them.
+
+[testenv:pylint]
+deps =
+ pylint==1.5.4
+ -r ./requirements.txt
+whitelist_externals = /bin/bash
+setenv = PYTHONPATH = {toxinidir}
+# Run pylint, but hide its return value until python warnings are cleared.
+commands = bash -c "bash resources/libraries/bash/entry/check/pylint.sh || true"
+
+# TODO: See FIXME in https://gerrit.fd.io/r/16423
+
+[testenv:linelength]
+whitelist_externals = /bin/bash
+# Fix all transgressions and remove the " || true" workaround.
+commands = bash -c "bash resources/libraries/bash/entry/check/line.sh || true"
+
+# It would be possible to add a check which fails
+# if number of long lines increases (from parent commit value),
+# and have it voting.
+# But that would basically prevent us from adding new suites righ now. :(
+
+[testenv:autogen]
+whitelist_externals = /bin/bash
+setenv = PYTHONPATH = {toxinidir}
+commands = bash resources/libraries/bash/entry/check/autogen.sh
+
+# TODO: Migrate current docs check here.
+# TODO: Create license checker.
+# TODO: Create voting "pylint violations should not increase" checker.
+# TODO: Create voting "linelength violations should not increase" checker.
+# TODO: Create Robot suite Documentation checker (backslash if not next mark).
+# TODO: Create .yaml specific checker, so people can override long line check.
+# TODO: Create .rst specific checker, if there is one allowing
+# to override line check.
+# TODO: You get the idea, replace line check with something smarter
+# wherever possible. \ No newline at end of file