Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(630)

Side by Side Diff: presubmit_support.py

Issue 6736018: improve logging slightly (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/tools/depot_tools
Patch Set: fix baseline of patchset Created 9 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « presubmit_canned_checks.py ('k') | tests/presubmit_unittest.py » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 #!/usr/bin/python 1 #!/usr/bin/python
2 # Copyright (c) 2010 The Chromium Authors. All rights reserved. 2 # Copyright (c) 2010 The Chromium Authors. All rights reserved.
3 # Use of this source code is governed by a BSD-style license that can be 3 # Use of this source code is governed by a BSD-style license that can be
4 # found in the LICENSE file. 4 # found in the LICENSE file.
5 5
6 """Enables directory-specific presubmit checks to run at upload and/or commit. 6 """Enables directory-specific presubmit checks to run at upload and/or commit.
7 """ 7 """
8 8
9 __version__ = '1.4' 9 __version__ = '1.4'
10 10
(...skipping 1022 matching lines...) Expand 10 before | Expand all | Expand 10 after
1033 1033
1034 Warning: 1034 Warning:
1035 If may_prompt is true, output_stream SHOULD be sys.stdout and input_stream 1035 If may_prompt is true, output_stream SHOULD be sys.stdout and input_stream
1036 SHOULD be sys.stdin. 1036 SHOULD be sys.stdin.
1037 1037
1038 Return: 1038 Return:
1039 A PresubmitOutput object. Use output.should_continue() to figure out 1039 A PresubmitOutput object. Use output.should_continue() to figure out
1040 if there were errors or warnings and the caller should abort. 1040 if there were errors or warnings and the caller should abort.
1041 """ 1041 """
1042 output = PresubmitOutput(input_stream, output_stream) 1042 output = PresubmitOutput(input_stream, output_stream)
1043 output.write("Running presubmit hooks...\n") 1043 if committing:
1044 output.write("Running presubmit commit checks ...\n")
1045 else:
1046 output.write("Running presubmit upload checks ...\n")
1044 start_time = time.time() 1047 start_time = time.time()
1045 presubmit_files = ListRelevantPresubmitFiles(change.AbsoluteLocalPaths(True), 1048 presubmit_files = ListRelevantPresubmitFiles(change.AbsoluteLocalPaths(True),
1046 change.RepositoryRoot()) 1049 change.RepositoryRoot())
1047 if not presubmit_files and verbose: 1050 if not presubmit_files and verbose:
1048 output.write("Warning, no presubmit.py found.\n") 1051 output.write("Warning, no presubmit.py found.\n")
1049 results = [] 1052 results = []
1050 executer = PresubmitExecuter(change, committing, tbr, host_url) 1053 executer = PresubmitExecuter(change, committing, tbr, host_url)
1051 if default_presubmit: 1054 if default_presubmit:
1052 if verbose: 1055 if verbose:
1053 output.write("Running default presubmit script.\n") 1056 output.write("Running default presubmit script.\n")
(...skipping 11 matching lines...) Expand all
1065 notifications = [] 1068 notifications = []
1066 warnings = [] 1069 warnings = []
1067 for result in results: 1070 for result in results:
1068 if result.fatal: 1071 if result.fatal:
1069 errors.append(result) 1072 errors.append(result)
1070 elif result.should_prompt: 1073 elif result.should_prompt:
1071 warnings.append(result) 1074 warnings.append(result)
1072 else: 1075 else:
1073 notifications.append(result) 1076 notifications.append(result)
1074 1077
1078 output.write('\n')
1075 for name, items in (('Messages', notifications), 1079 for name, items in (('Messages', notifications),
1076 ('Warnings', warnings), 1080 ('Warnings', warnings),
1077 ('ERRORS', errors)): 1081 ('ERRORS', errors)):
1078 if items: 1082 if items:
1079 output.write('** Presubmit %s **\n' % name) 1083 output.write('** Presubmit %s **\n' % name)
1080 for item in items: 1084 for item in items:
1081 item.handle(output) 1085 item.handle(output)
1082 output.write('\n') 1086 output.write('\n')
1083 1087
1084 total_time = time.time() - start_time 1088 total_time = time.time() - start_time
1085 if total_time > 1.0: 1089 if total_time > 1.0:
1086 output.write("Presubmit checks took %.1fs to calculate.\n" % total_time) 1090 output.write("Presubmit checks took %.1fs to calculate.\n\n" % total_time)
1087 1091
1088 if not errors and warnings: 1092 if not errors:
1089 if may_prompt: 1093 if not warnings:
1094 output.write('Presubmit checks passed.\n')
1095 elif may_prompt:
1090 output.prompt_yes_no('There were presubmit warnings. ' 1096 output.prompt_yes_no('There were presubmit warnings. '
1091 'Are you sure you wish to continue? (y/N): ') 1097 'Are you sure you wish to continue? (y/N): ')
1092 else: 1098 else:
1093 output.fail() 1099 output.fail()
1094 1100
1095 global _ASKED_FOR_FEEDBACK 1101 global _ASKED_FOR_FEEDBACK
1096 # Ask for feedback one time out of 5. 1102 # Ask for feedback one time out of 5.
1097 if (len(results) and random.randint(0, 4) == 0 and not _ASKED_FOR_FEEDBACK): 1103 if (len(results) and random.randint(0, 4) == 0 and not _ASKED_FOR_FEEDBACK):
1098 output.write("Was the presubmit check useful? Please send feedback " 1104 output.write("Was the presubmit check useful? Please send feedback "
1099 "& hate mail to maruel@chromium.org!\n") 1105 "& hate mail to maruel@chromium.org!\n")
(...skipping 89 matching lines...) Expand 10 before | Expand all | Expand 10 after
1189 sys.stdout, 1195 sys.stdout,
1190 sys.stdin, 1196 sys.stdin,
1191 options.default_presubmit, 1197 options.default_presubmit,
1192 options.may_prompt) 1198 options.may_prompt)
1193 return not results.should_continue() 1199 return not results.should_continue()
1194 1200
1195 1201
1196 if __name__ == '__main__': 1202 if __name__ == '__main__':
1197 fix_encoding.fix_encoding() 1203 fix_encoding.fix_encoding()
1198 sys.exit(Main(None)) 1204 sys.exit(Main(None))
OLDNEW
« no previous file with comments | « presubmit_canned_checks.py ('k') | tests/presubmit_unittest.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698