]> git.ipfire.org Git - thirdparty/libvirt.git/commitdiff
maint: Use flake8 to check python code
authorShi Lei <shi_lei@massclouds.com>
Wed, 18 Sep 2019 04:19:43 +0000 (12:19 +0800)
committerJán Tomko <jtomko@redhat.com>
Wed, 18 Sep 2019 12:12:07 +0000 (14:12 +0200)
Replace 'sc_prohibit_semicolon_at_eol_in_python' with generic 'sc_flake8' rule
to check python code style.

Now 'sc_flake8' just check the error E703: 'statement ends with a semicolon'.
In future, we could use '--select' to introduce more rules.

Signed-off-by: Shi Lei <shi_lei@massclouds.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
Signed-off-by: Ján Tomko <jtomko@redhat.com>
cfg.mk
configure.ac

diff --git a/cfg.mk b/cfg.mk
index 42e1abf0dd960e4e04b874d7c46fb4ff1b79b38e..a7c883830f681e27ee0671b80a5c73aeaa38c1bc 100644 (file)
--- a/cfg.mk
+++ b/cfg.mk
@@ -812,11 +812,13 @@ sc_require_enum_last_marker:
            exit 1; } || :
 
 # In Python files we don't want to end lines with a semicolon like in C
-sc_prohibit_semicolon_at_eol_in_python:
-       @prohibit='^[^#].*\;$$' \
-       in_vc_files='\.py$$' \
-       halt='python does not require to end lines with a semicolon' \
-         $(_sc_search_regexp)
+sc_flake8:
+       @if [ -n "$(FLAKE8)" ]; then \
+               $(VC_LIST_EXCEPT) | $(GREP) '\.py$$' | xargs \
+                       $(FLAKE8) --select E703 --show-source; \
+       else \
+               echo '$(ME): skipping test $@: flake8 not installed' 1>&2; \
+       fi
 
 # mymain() in test files should use return, not exit, for nicer output
 sc_prohibit_exit_in_tests:
@@ -1140,6 +1142,11 @@ syntax-check: spacing-check test-wrap-argv \
                echo "*****************************************************" >&2; \
                echo "* cppi not installed, some checks have been skipped *" >&2; \
                echo "*****************************************************" >&2; \
+       fi; \
+       if [ -z "$(FLAKE8)" ]; then \
+               echo "*****************************************************" >&2; \
+               echo "* flake8 not installed, sc_flake8 has been skipped  *" >&2; \
+               echo "*****************************************************" >&2; \
        fi
 endif
 
index 41d3da3e097746fc5851df5c44032bf992e5eb22..286b9f7abe1a8cb5d0a1ebddde7507bf324a0df5 100644 (file)
@@ -704,6 +704,10 @@ AC_PATH_PROGS([PYTHON], [python3 python2 python])
 if test -z "$PYTHON"; then
     AC_MSG_ERROR(['python3', 'python2' or 'python' binary is required to build libvirt])
 fi
+AC_PATH_PROG([FLAKE8], [flake8])
+if test -z "$FLAKE8"; then
+    AC_MSG_WARN(['flake8' binary is required to check python code style])
+fi
 AC_PATH_PROG([PERL], [perl])
 if test -z "$PERL"; then
          AC_MSG_ERROR(['perl' binary is required to build libvirt])