2
0
mirror of https://github.com/openvswitch/ovs synced 2025-09-05 00:35:33 +00:00

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>
This commit is contained in:
Alin Gabriel Serdean
2019-03-19 00:43:00 +02:00
parent c4f8dc7a9c
commit 241bc88a2d
2 changed files with 13 additions and 12 deletions

View File

@@ -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)