From patchwork Mon Mar 18 22:43:00 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Alin-Gabriel Serdean X-Patchwork-Id: 1058127 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (mailfrom) smtp.mailfrom=openvswitch.org (client-ip=140.211.169.12; helo=mail.linuxfoundation.org; envelope-from=ovs-dev-bounces@openvswitch.org; receiver=) Authentication-Results: ozlabs.org; dmarc=none (p=none dis=none) header.from=ovn.org Received: from mail.linuxfoundation.org (mail.linuxfoundation.org [140.211.169.12]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 44NWSv4rxRz9s6w for ; Tue, 19 Mar 2019 09:44:14 +1100 (AEDT) Received: from mail.linux-foundation.org (localhost [127.0.0.1]) by mail.linuxfoundation.org (Postfix) with ESMTP id 54BCD32CA; Mon, 18 Mar 2019 22:44:11 +0000 (UTC) X-Original-To: dev@openvswitch.org Delivered-To: ovs-dev@mail.linuxfoundation.org Received: from smtp1.linuxfoundation.org (smtp1.linux-foundation.org [172.17.192.35]) by mail.linuxfoundation.org (Postfix) with ESMTPS id 5D5CC34CD for ; Mon, 18 Mar 2019 22:43:12 +0000 (UTC) X-Greylist: domain auto-whitelisted by SQLgrey-1.7.6 Received: from relay12.mail.gandi.net (relay12.mail.gandi.net [217.70.178.232]) by smtp1.linuxfoundation.org (Postfix) with ESMTPS id 7365C19B for ; Mon, 18 Mar 2019 22:43:11 +0000 (UTC) Received: from localhost.localdomain (unknown [89.46.161.178]) (Authenticated sender: aserdean@ovn.org) by relay12.mail.gandi.net (Postfix) with ESMTPSA id 64C73200006; Mon, 18 Mar 2019 22:43:09 +0000 (UTC) From: Alin Gabriel Serdean To: dev@openvswitch.org, blp@ovn.org Date: Tue, 19 Mar 2019 00:43:00 +0200 Message-Id: <20190318224300.37416-1-aserdean@ovn.org> X-Mailer: git-send-email 2.16.1.windows.1 X-Spam-Status: No, score=-2.6 required=5.0 tests=BAYES_00, RCVD_IN_DNSWL_LOW autolearn=ham version=3.3.1 X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on smtp1.linux-foundation.org Cc: Alin Gabriel Serdean Subject: [ovs-dev] [PATCH v4] checkpatch: Normalize exit code for Windows X-BeenThere: ovs-dev@openvswitch.org X-Mailman-Version: 2.1.12 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Sender: ovs-dev-bounces@openvswitch.org Errors-To: ovs-dev-bounces@openvswitch.org Using python `sys.exit(-1)` on Windows produces mixed results. Let's take the following results from different shells: CMD >python -c "import sys; sys.exit(-1)" & echo %errorlevel% 1 MSYS $ python -c "import sys; sys.exit(-1)" && echo $? 0 WSL $ python -c "import sys; sys.exit(-1)"; echo $? 255 this results in the following tests to fail: checkpatch 10: checkpatch - sign-offs FAILED (checkpatch.at:32) 11: checkpatch - parenthesized constructs FAILED (checkpatch.at:32) 12: checkpatch - parenthesized constructs - for FAILED (checkpatch.at:32) 13: checkpatch - comments FAILED (checkpatch.at:32) because of: ./checkpatch.at:32: exit code was 0, expected 255 This patch introduces a positive constant for the default exit code (1) similar to other OVS utilities. Signed-off-by: Alin Gabriel Serdean Acked-by: Ben Pfaff Acked-by: Aaron Conole Acked-by: Ben Pfaff --- tests/checkpatch.at | 2 +- utilities/checkpatch.py | 23 ++++++++++++----------- 2 files changed, 13 insertions(+), 12 deletions(-) diff --git a/tests/checkpatch.at b/tests/checkpatch.at index 9a72bc279..07f4b137c 100755 --- a/tests/checkpatch.at +++ b/tests/checkpatch.at @@ -30,7 +30,7 @@ try_checkpatch__() { : elif test -s expout; then AT_CHECK([$2 $top_srcdir/utilities/checkpatch.py -q test.patch], - [255], [stdout]) + [1], [stdout]) AT_CHECK([sed '/^Lines checked:/,$d' stdout], [0], [expout]) else AT_CHECK([$2 $top_srcdir/utilities/checkpatch.py -q test.patch]) diff --git a/utilities/checkpatch.py b/utilities/checkpatch.py index 4164ea8ec..369911960 100755 --- a/utilities/checkpatch.py +++ b/utilities/checkpatch.py @@ -24,6 +24,7 @@ import sys RETURN_CHECK_INITIAL_STATE = 0 RETURN_CHECK_STATE_WITH_RETURN = 1 RETURN_CHECK_AWAITING_BRACE = 2 +EXIT_FAILURE = 1 __errors = 0 __warnings = 0 empty_return_check_state = 0 @@ -842,7 +843,7 @@ def ovs_checkpatch_parse(text, filename, author=None, committer=None): run_file_checks(text) if __errors or __warnings: - return -1 + return EXIT_FAILURE return 0 @@ -868,10 +869,10 @@ Check options: % sys.argv[0]) -def ovs_checkpatch_print_result(result): +def ovs_checkpatch_print_result(): global quiet, __warnings, __errors, total_line - if result < 0: + if __errors or __warnings: print("Lines checked: %d, Warnings: %d, Errors: %d\n" % (total_line, __warnings, __errors)) elif not quiet: @@ -891,7 +892,7 @@ def ovs_checkpatch_file(filename): result = ovs_checkpatch_parse(part.get_payload(decode=False), filename, mail.get('Author', mail['From']), mail['Commit']) - ovs_checkpatch_print_result(result) + ovs_checkpatch_print_result() return result @@ -925,7 +926,7 @@ if __name__ == '__main__': "quiet"]) except: print("Unknown option encountered. Please rerun with -h for help.") - sys.exit(-1) + sys.exit(EXIT_FAILURE) for o, a in optlist: if o in ("-h", "--help"): @@ -951,7 +952,7 @@ if __name__ == '__main__': quiet = True else: print("Unknown option '%s'" % o) - sys.exit(-1) + sys.exit(EXIT_FAILURE) if sys.stdout.isatty(): colors = True @@ -977,17 +978,17 @@ Subject: %s if not quiet: print('== Checking %s ("%s") ==' % (revision[0:12], name)) result = ovs_checkpatch_parse(patch, revision) - ovs_checkpatch_print_result(result) + ovs_checkpatch_print_result() if result: - status = -1 + status = EXIT_FAILURE sys.exit(status) if not args: if sys.stdin.isatty(): usage() - sys.exit(-1) + sys.exit(EXIT_FAILURE) result = ovs_checkpatch_parse(sys.stdin.read(), '-') - ovs_checkpatch_print_result(result) + ovs_checkpatch_print_result() sys.exit(result) status = 0 @@ -996,5 +997,5 @@ Subject: %s print('== Checking "%s" ==' % filename) result = ovs_checkpatch_file(filename) if result: - status = -1 + status = EXIT_FAILURE sys.exit(status)