[Kimchi-devel] [PATCH V3 4/4] run pyflakes when make check

shaohef at linux.vnet.ibm.com shaohef at linux.vnet.ibm.com
Wed Mar 19 09:23:08 UTC 2014


From: ShaoHe Feng <shaohef at linux.vnet.ibm.com>

Pyflakes analyzes programs and detects various errors. It works by
parsing the source file, not importing it, so it is safe to use on
modules with side effects. It's also much faster.

This is important to improve the code quality.

Signed-off-by: ShaoHe Feng <shaohef at linux.vnet.ibm.com>
Signed-off-by: Zhou Zheng Sheng <zhshzhou at linux.vnet.ibm.com>
---
 Makefile.am                   | 7 +++++++
 configure.ac                  | 7 +++++++
 contrib/DEBIAN/control.in     | 1 +
 contrib/kimchi.spec.fedora.in | 1 +
 docs/README.md                | 6 +++---
 5 files changed, 19 insertions(+), 3 deletions(-)

diff --git a/Makefile.am b/Makefile.am
index 2fdafb1..c68f050 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -71,7 +71,14 @@ PEP8_WHITELIST = \
 	tests/utils.py \
 	$(NULL)
 
+SKIP_PYFLAKES_ERR = "\./src/kimchi/websocket\.py"
+
 check-local:
+	find . -path './.git' -prune -type f -o \
+		-name '*.py' -o -name '*.py.in'  | xargs $(PYFLAKES) | \
+		grep -w -v $(SKIP_PYFLAKES_ERR) | \
+		while read LINE; do echo "$$LINE"; false; done
+
 	$(PEP8) --version
 	$(PEP8) --filename '*.py,*.py.in' $(PEP8_WHITELIST)
 
diff --git a/configure.ac b/configure.ac
index 365348f..a625f35 100644
--- a/configure.ac
+++ b/configure.ac
@@ -42,6 +42,13 @@ AM_GNU_GETTEXT([external])
 AM_GNU_GETTEXT_VERSION([0.10])
 AC_PATH_PROG([CHEETAH], [cheetah], [/usr/bin/cheetah])
 
+# Checking for pyflakes
+AC_PATH_PROG([PYFLAKES], [pyflakes])
+if test "x$PYFLAKES" = "x"; then
+  AC_MSG_WARN([pyflakes not found])
+fi
+
+
 AC_CONFIG_FILES([
     po/Makefile.in
     po/gen-pot
diff --git a/contrib/DEBIAN/control.in b/contrib/DEBIAN/control.in
index c2b2a40..75c42a6 100644
--- a/contrib/DEBIAN/control.in
+++ b/contrib/DEBIAN/control.in
@@ -24,6 +24,7 @@ Depends: python-cherrypy3 (>= 3.2.0),
          open-iscsi,
          firewalld
 Build-Depends: libxslt,
+               pyflakes,
                python-libxml2
 Maintainer: Aline Manera <alinefm at br.ibm.com>
 Description: Kimchi web server
diff --git a/contrib/kimchi.spec.fedora.in b/contrib/kimchi.spec.fedora.in
index bf80104..1d51c87 100644
--- a/contrib/kimchi.spec.fedora.in
+++ b/contrib/kimchi.spec.fedora.in
@@ -31,6 +31,7 @@ Requires:	nfs-utils
 Requires:	iscsi-initiator-utils
 BuildRequires:	libxslt
 BuildRequires:	libxml2-python
+BuildRequires:  pyflakes
 
 %if 0%{?rhel} == 6
 Requires:	python-ordereddict
diff --git a/docs/README.md b/docs/README.md
index 4be0e53..9c82540 100644
--- a/docs/README.md
+++ b/docs/README.md
@@ -53,7 +53,7 @@ Install Dependencies
                         PyPAM m2crypto python-jsonschema rpm-build \
                         qemu-kvm python-psutil python-ethtool sos \
                         python-ipaddr python-lxml nfs-utils \
-                        iscsi-initiator-utils libxslt pyparted
+                        iscsi-initiator-utils libxslt pyparted pyflakes
      # If using RHEL6, install the following additional packages:
      $ sudo yum install python-unittest2 python-ordereddict
      # Restart libvirt to allow configuration changes to take effect
@@ -75,7 +75,7 @@ for more information on how to configure your system to access this repository.
                            python-pam python-m2crypto python-jsonschema \
                            qemu-kvm libtool python-psutil python-ethtool \
                            sosreport python-ipaddr python-lxml nfs-common \
-                           open-iscsi lvm2 xsltproc python-parted
+                           open-iscsi lvm2 xsltproc python-parted pyflakes
 
     Packages version requirement:
         python-jsonschema >= 1.3.0
@@ -89,7 +89,7 @@ for more information on how to configure your system to access this repository.
                           python-pam python-M2Crypto python-jsonschema \
                           rpm-build kvm python-psutil python-ethtool \
                           python-ipaddr python-lxml nfs-client open-iscsi \
-                          libxslt-tools python-xml python-parted
+                          libxslt-tools python-xml python-parted pyflakes
 
     Packages version requirement:
         python-psutil >= 0.6.0
-- 
1.8.5.3




More information about the Kimchi-devel mailing list