summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKlement Sekera <ksekera@cisco.com>2021-03-24 23:24:52 +0100
committerOle Tr�an <otroan@employees.org>2021-03-25 09:22:52 +0000
commite0b63b2978552cd21ed23343232de720157a282d (patch)
tree08312f736cafd72e2974b2c9b185aad5c7d5f31e
parente66443c9b411368bf856b74580d19144bb28d236 (diff)
tests: introduce test-checkstyle-diff
Make test-checkstyle-diff is a new target which checks PEP8 compliance only for changed files. This makes it faster to execute and also more readable as most of the time, only changed files will fail. Type: improvement Signed-off-by: Klement Sekera <ksekera@cisco.com> Change-Id: I71baca76ab3a21a7a3790617cbfb0d48aacbd9ec
-rw-r--r--Makefile5
-rw-r--r--test/Makefile19
2 files changed, 22 insertions, 2 deletions
diff --git a/Makefile b/Makefile
index a1226a7fc37..78300e2dfe6 100644
--- a/Makefile
+++ b/Makefile
@@ -206,6 +206,7 @@ help:
@echo " checkstyle - check coding style"
@echo " checkstyle-commit - check commit message format"
@echo " checkstyle-test - check test framework coding style"
+ @echo " checkstyle-test-diff - check test framework coding style (only changed files)"
@echo " checkstyle-api - check api for incompatible changes"
@echo " fixstyle - fix coding style"
@echo " doxygen - (re)generate documentation"
@@ -478,6 +479,10 @@ test-wipe-all:
test-checkstyle:
@make -C test checkstyle
+.PHONY: test-checkstyle-diff
+test-checkstyle-diff:
+ @make -C test checkstyle-diff
+
.PHONY: test-refresh-deps
test-refresh-deps:
@make -C test refresh-deps
diff --git a/test/Makefile b/test/Makefile
index d33133ae957..24210864117 100644
--- a/test/Makefile
+++ b/test/Makefile
@@ -318,6 +318,21 @@ wipe-papi:
wipe-all: wipe wipe-papi wipe-doc wipe-cov
@rm -rf $(TEST_BR)
+.PHONY: checkstyle-diff
+checkstyle-diff: $(BUILD_TEST_SRC) $(PIP_INSTALL_DONE)
+ @bash -c "source $(VENV_PATH)/bin/activate &&\
+ $(PYTHON_INTERP) -m pip install pycodestyle"
+ @bash -c "source $(VENV_PATH)/bin/activate &&\
+ cd $(WS_ROOT) && git diff --name-only --no-color --relative HEAD~1 ':!*.patch' | grep '.py$$' | xargs -n 1 -I XXX \
+ pycodestyle --show-source --ignore=W504,E126,E241,E226,E305,E704,E741,E722 -v XXX ||\
+ (echo \"*********************************************************************\" &&\
+ echo \"* Test framework PEP8 compliance check FAILED (checked changed files)\" &&\
+ echo \"*********************************************************************\" &&\
+ false)"
+ @echo "*********************************************************************"
+ @echo "* Test framework PEP8 compliance check passed (checked changed files)"
+ @echo "*********************************************************************"
+
.PHONY: checkstyle
checkstyle: $(BUILD_TEST_SRC) $(PIP_INSTALL_DONE)
@bash -c "source $(VENV_PATH)/bin/activate &&\
@@ -325,11 +340,11 @@ checkstyle: $(BUILD_TEST_SRC) $(PIP_INSTALL_DONE)
@bash -c "source $(VENV_PATH)/bin/activate &&\
pycodestyle --show-source --ignore=W504,E126,E241,E226,E305,E704,E741,E722 -v $(BUILD_TEST_SRC)/*.py ||\
(echo \"*******************************************************************\" &&\
- echo \"* Test framework PEP8 compliance check FAILED \" &&\
+ echo \"* Test framework PEP8 compliance check FAILED (checked all files)\" &&\
echo \"*******************************************************************\" &&\
false)"
@echo "*******************************************************************"
- @echo "* Test framework PEP8 compliance check passed"
+ @echo "* Test framework PEP8 compliance check passed (checked all files)"
@echo "*******************************************************************"
.PHONY: help