aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--resources/libraries/bash/entry/tox/README.txt (renamed from resources/libraries/bash/entry/check/README.txt)20
-rw-r--r--resources/libraries/bash/entry/tox/autogen.sh (renamed from resources/libraries/bash/entry/check/autogen.sh)2
-rw-r--r--resources/libraries/bash/entry/tox/copyright_year.sh (renamed from resources/libraries/bash/entry/check/copyright_year.sh)2
-rw-r--r--resources/libraries/bash/entry/tox/doc_verify.sh (renamed from resources/libraries/bash/entry/check/doc_verify.sh)4
-rw-r--r--resources/libraries/bash/entry/tox/gpl_license.sh (renamed from resources/libraries/bash/entry/check/gpl_license.sh)2
-rw-r--r--resources/libraries/bash/entry/tox/line.sh (renamed from resources/libraries/bash/entry/check/line.sh)2
-rw-r--r--resources/libraries/bash/entry/tox/model_version.sh (renamed from resources/libraries/bash/entry/check/model_version.sh)0
-rw-r--r--resources/libraries/bash/entry/tox/new_line.sh (renamed from resources/libraries/bash/entry/check/new_line.sh)2
-rw-r--r--resources/libraries/bash/entry/tox/pylint.sh (renamed from resources/libraries/bash/entry/check/pylint.sh)2
-rw-r--r--tox.ini30
10 files changed, 38 insertions, 28 deletions
diff --git a/resources/libraries/bash/entry/check/README.txt b/resources/libraries/bash/entry/tox/README.txt
index 7f86d83b58..e13b60209e 100644
--- a/resources/libraries/bash/entry/check/README.txt
+++ b/resources/libraries/bash/entry/tox/README.txt
@@ -1,4 +1,4 @@
-# Copyright (c) 2021 Cisco and/or its affiliates.
+# Copyright (c) 2022 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:
@@ -11,10 +11,13 @@
# See the License for the specific language governing permissions and
# limitations under the License.
-This directory contains checker scripts and other files they need.
-Each checker script is assumed to be run from tox,
+This directory contains tox scripts and other files they need.
+Generally, a tox script is either a checker (suitable for automated verify)
+or a fixer (manually started, risky as uncommitted edits can be lost).
+Each tox script is assumed to be run from tox,
when working directory is set to ${CSIT_DIR}.
-Each script should:
+
+Each checker script should:
+ Return nonzero exit code when it fails.
++ The tox might ignore the code when the check is not blocking.
+ Write less verbose output to stderr.
@@ -25,3 +28,12 @@ Each script should:
++ The level of "less verbose" depends on check and state of codebase.
+ TODO: Should we carefully document which files are
whitelisted/blacklisted for a particulat check?
+
+Each fixer script should:
++ Perform edits on current filesystem
++ Not assume git is clean (there may be uncommitted edits).
++ Use "git diff HEAD~" to get both comitted and uncomitted edits to analyze.
++ Output whatever it wants (possibly nothing).
+
+TODO: Should checkers be named differently than fixers?
+ E.g. both scripts and tox environments start with fix_?
diff --git a/resources/libraries/bash/entry/check/autogen.sh b/resources/libraries/bash/entry/tox/autogen.sh
index d7cd8e0dbd..40cc2c2066 100644
--- a/resources/libraries/bash/entry/check/autogen.sh
+++ b/resources/libraries/bash/entry/tox/autogen.sh
@@ -1,4 +1,4 @@
-# Copyright (c) 2021 Cisco and/or its affiliates.
+# Copyright (c) 2022 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:
diff --git a/resources/libraries/bash/entry/check/copyright_year.sh b/resources/libraries/bash/entry/tox/copyright_year.sh
index dae1a8dc46..9ed9fcb653 100644
--- a/resources/libraries/bash/entry/check/copyright_year.sh
+++ b/resources/libraries/bash/entry/tox/copyright_year.sh
@@ -1,4 +1,4 @@
-# Copyright (c) 2021 Cisco and/or its affiliates.
+# Copyright (c) 2022 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:
diff --git a/resources/libraries/bash/entry/check/doc_verify.sh b/resources/libraries/bash/entry/tox/doc_verify.sh
index baa9d8aa74..7eec4b69e4 100644
--- a/resources/libraries/bash/entry/check/doc_verify.sh
+++ b/resources/libraries/bash/entry/tox/doc_verify.sh
@@ -1,6 +1,4 @@
-#!/usr/bin/env bash
-
-# Copyright (c) 2021 Cisco and/or its affiliates.
+# Copyright (c) 2022 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:
diff --git a/resources/libraries/bash/entry/check/gpl_license.sh b/resources/libraries/bash/entry/tox/gpl_license.sh
index 167d3f3ecd..7112075883 100644
--- a/resources/libraries/bash/entry/check/gpl_license.sh
+++ b/resources/libraries/bash/entry/tox/gpl_license.sh
@@ -1,4 +1,4 @@
-# Copyright (c) 2021 Cisco and/or its affiliates.
+# Copyright (c) 2022 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:
diff --git a/resources/libraries/bash/entry/check/line.sh b/resources/libraries/bash/entry/tox/line.sh
index 6f373121e0..a90fc22cae 100644
--- a/resources/libraries/bash/entry/check/line.sh
+++ b/resources/libraries/bash/entry/tox/line.sh
@@ -1,4 +1,4 @@
-# Copyright (c) 2021 Cisco and/or its affiliates.
+# Copyright (c) 2022 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:
diff --git a/resources/libraries/bash/entry/check/model_version.sh b/resources/libraries/bash/entry/tox/model_version.sh
index 2bcc628bfb..2bcc628bfb 100644
--- a/resources/libraries/bash/entry/check/model_version.sh
+++ b/resources/libraries/bash/entry/tox/model_version.sh
diff --git a/resources/libraries/bash/entry/check/new_line.sh b/resources/libraries/bash/entry/tox/new_line.sh
index 4857f9f8bd..a8fb38f73e 100644
--- a/resources/libraries/bash/entry/check/new_line.sh
+++ b/resources/libraries/bash/entry/tox/new_line.sh
@@ -1,4 +1,4 @@
-# Copyright (c) 2021 Cisco and/or its affiliates.
+# Copyright (c) 2022 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:
diff --git a/resources/libraries/bash/entry/check/pylint.sh b/resources/libraries/bash/entry/tox/pylint.sh
index fbfea4773e..a3e0f8ee14 100644
--- a/resources/libraries/bash/entry/check/pylint.sh
+++ b/resources/libraries/bash/entry/tox/pylint.sh
@@ -1,4 +1,4 @@
-# Copyright (c) 2021 Cisco and/or its affiliates.
+# Copyright (c) 2022 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:
diff --git a/tox.ini b/tox.ini
index 079e689136..126af2d454 100644
--- a/tox.ini
+++ b/tox.ini
@@ -1,4 +1,4 @@
-# Copyright (c) 2021 Cisco and/or its affiliates.
+# Copyright (c) 2022 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:
@@ -20,9 +20,9 @@
# Usage:
# cd to CSIT root (other directories might use different tox.ini)
# $ tox
-# will execute all checks.
+# will execute all default checkers.
# $ tox -e pylint
-# will execute only checks defined in "pylint" tox environment.
+# will execute only checkers (or fixers) defined in "pylint" tox environment.
[tox]
# Fast and brief checkers to front, slow or verbose checkers to back.
@@ -32,48 +32,48 @@ envlist = job_spec, copyright_year, gpl_license, model_version,
# The following is needed as tox requires setup.py by default.
skipsdist = true
# Just a shorthand to avoid long lines.
-checker_dir = ./resources/libraries/bash/entry/check
+script_dir = ./resources/libraries/bash/entry/tox
# TODO: Tox prints various warnings. Figure them out and fix them.
# Recommended ordering withinn testenv definition:
# + General comments.
# + ignore_outcome for non-voting checkers,
-# + setenv (PYTHONPATH) for Python-using checkers.
+# + setenv (PYTHONPATH) for Python-using checkers and fixers.
# + Other Python stuff (e.g. basepython and deps for pylint).
# + whitelist_externals to enable bash.
-# + commands with a single bash to launch the corresponding checker script.
+# + Commands with a single bash to launch the corresponding script.
# Keep testenvs sorted alphabetically, please.
[testenv:autogen]
setenv = PYTHONPATH = {toxinidir}
whitelist_externals = /bin/bash
-commands = bash {[tox]checker_dir}/autogen.sh
+commands = bash {[tox]script_dir}/autogen.sh
[testenv:copyright_year]
whitelist_externals = /bin/bash
-commands = bash {[tox]checker_dir}/copyright_year.sh
+commands = bash {[tox]script_dir}/copyright_year.sh
[testenv:doc_verify]
# Fix all documentation error before enabling voting.
ignore_outcome = true
whitelist_externals = /bin/bash
-commands = bash {[tox]checker_dir}/doc_verify.sh
+commands = bash {[tox]script_dir}/doc_verify.sh
[testenv:gpl_license]
whitelist_externals = /bin/bash
-commands = bash {[tox]checker_dir}/gpl_license.sh
+commands = bash {[tox]script_dir}/gpl_license.sh
[testenv:line_length]
# Fix all transgressions and remove the ignore_outcome flag.
ignore_outcome = true
whitelist_externals = /bin/bash
-commands = bash {[tox]checker_dir}/line.sh
+commands = bash {[tox]script_dir}/line.sh
[testenv:model_version]
whitelist_externals = /bin/bash
-commands = bash {[tox]checker_dir}/model_version.sh
+commands = bash {[tox]script_dir}/model_version.sh
[testenv:new_line_length]
# Adding .svg, big .rst tables, .yaml and similar still requires long lines.
@@ -81,7 +81,7 @@ commands = bash {[tox]checker_dir}/model_version.sh
# the checker has to remain non-voting.
ignore_outcome = true
whitelist_externals = /bin/bash
-commands = bash {[tox]checker_dir}/new_line.sh
+commands = bash {[tox]script_dir}/new_line.sh
[testenv:pylint]
# Run pylint, but hide its return value until python warnings are cleared.
@@ -92,7 +92,7 @@ deps =
pylint==2.4.3
-r ./requirements.txt
whitelist_externals = /bin/bash
-commands = bash {[tox]checker_dir}/pylint.sh
+commands = bash {[tox]script_dir}/pylint.sh
# Keep testenvs sorted alphabetically, please.
@@ -105,5 +105,5 @@ commands = bash {[tox]checker_dir}/pylint.sh
# 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
+# TODO: You get the idea, replace line checker with something smarter
# wherever possible.