On Thu, Mar 24, 2016 at 4:12 PM, Aaron Conole <acon...@redhat.com> wrote:

> Most projects have a checkpatch facility, which can be used as a pre-commit
> sanity check. This introduces such a mechanism to the Open vSwitch project
> to catch some of the more silly formatting mistakes which can occur. It is
> not meant to replace good code review practices, but it can help eliminate
> the silly code review issues which get added.
>
> Suggested-by: Mauricio Vásquez <mauricio.vasquezber...@studenti.polito.it>
> Signed-off-by: Aaron Conole <acon...@redhat.com>
> ---
> v2:
> - Moved to the utilities directory
> - Fixed up according to flake8
> - Added an ignore for leading tabs with .mk file modifications
> - hooked up the return values
>
>  CONTRIBUTING.md         |   4 ++
>  utilities/automake.mk   |   3 +-
>  utilities/checkpatch.py | 158
> ++++++++++++++++++++++++++++++++++++++++++++++++
>  3 files changed, 164 insertions(+), 1 deletion(-)
>  create mode 100644 utilities/checkpatch.py
>

"make" still fails for me.  See the incremental diff below.  Part of it is
that I have an additional flake8 plugin installed called "hacking" that
caught the print function compatibility issue.  Even without that, "make"
failed since the new file wasn't lised in EXTRA_DIST.

It would be nice to have this marked as executable.

Some help text when run with -h/--help would be nice, as it wasn't obvious
how to use it.  It should also give a helpful error if you don't provide
expected arguments.

For example, I just guessed at how to use it and got it wrong.

$ git show | python utilities/checkpatch.py
Traceback (most recent call last):
  File "utilities/checkpatch.py", line 160, in <module>
    sys.exit(ovs_checkpatch_file(sys.argv[1]))
IndexError: list index out of range

Support for running it that way would be nice, but not required.  :-)



diff --git a/utilities/automake.mk b/utilities/automake.mk
index 8062d8b..5be9c8c 100644
--- a/utilities/automake.mk
+++ b/utilities/automake.mk
@@ -56,7 +56,8 @@ EXTRA_DIST += \
        utilities/ovs-test.in \
        utilities/ovs-vlan-test.in \
        utilities/ovs-vsctl-bashcomp.bash \
-       utilities/qemu-wrap.py
+       utilities/qemu-wrap.py \
+       utilities/checkpatch.py
 MAN_ROOTS += \
        utilities/ovs-appctl.8.in \
        utilities/ovs-testcontroller.8.in \
diff --git a/utilities/checkpatch.py b/utilities/checkpatch.py
index f9caeae..1687187 100644
--- a/utilities/checkpatch.py
+++ b/utilities/checkpatch.py
@@ -12,6 +12,8 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.

+from __future__ import print_function
+
 import re
 import sys
 import email
@@ -23,9 +25,9 @@ __warnings = 0
 def print_error(message, lineno=None):
     global __errors
     if lineno is not None:
-        print "E(%d): %s" % (lineno, message)
+        print("E(%d): %s" % (lineno, message))
     else:
-        print "E: %s" % (message)
+        print("E: %s" % (message))

     __errors = __errors + 1

@@ -33,9 +35,9 @@ def print_error(message, lineno=None):
 def print_warning(message, lineno=None):
     global __warnings
     if lineno:
-        print "W(%d): %s" % (lineno, message)
+        print("W(%d): %s" % (lineno, message))
     else:
-        print "W: %s" % (message)
+        print("W: %s" % (message))

     __warnings = __warnings + 1

@@ -136,7 +138,7 @@ def ovs_checkpatch_parse(text):
                 print_warning("Improper whitespace around control block",
                               lineno)
             if print_line:
-                print line
+                print(line)
     if __errors or __warnings:
         return -1
     return 0
_______________________________________________
dev mailing list
dev@openvswitch.org
http://openvswitch.org/mailman/listinfo/dev

Reply via email to