diff options
author | Alin Gabriel Serdean <aserdean@ovn.org> | 2019-03-19 00:43:00 +0200 |
---|---|---|
committer | Alin Gabriel Serdean <aserdean@ovn.org> | 2019-04-03 17:47:29 +0300 |
commit | 241bc88a2dd76a80b9f8dcc572e82ebe1a265b29 (patch) | |
tree | 94c325e46802c673a2b1154c7e3ed087c9344694 /utilities | |
parent | c4f8dc7a9c5c1802f6b185b2440f9245a719f73b (diff) | |
download | openvswitch-241bc88a2dd76a80b9f8dcc572e82ebe1a265b29.tar.gz |
checkpatch: Normalize exit code for Windows
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 <aserdean@ovn.org>
Acked-by: Ben Pfaff <blp@ovn.org>
Acked-by: Aaron Conole <aconole@redhat.com>
Diffstat (limited to 'utilities')
-rwxr-xr-x | utilities/checkpatch.py | 23 |
1 files changed, 12 insertions, 11 deletions
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) |