| OLD | NEW | 
|    1 # Copyright 2012 the V8 project authors. All rights reserved. |    1 # Copyright 2012 the V8 project authors. All rights reserved. | 
|    2 # Redistribution and use in source and binary forms, with or without |    2 # Redistribution and use in source and binary forms, with or without | 
|    3 # modification, are permitted provided that the following conditions are |    3 # modification, are permitted provided that the following conditions are | 
|    4 # met: |    4 # met: | 
|    5 # |    5 # | 
|    6 #     * Redistributions of source code must retain the above copyright |    6 #     * Redistributions of source code must retain the above copyright | 
|    7 #       notice, this list of conditions and the following disclaimer. |    7 #       notice, this list of conditions and the following disclaimer. | 
|    8 #     * Redistributions in binary form must reproduce the above |    8 #     * Redistributions in binary form must reproduce the above | 
|    9 #       copyright notice, this list of conditions and the following |    9 #       copyright notice, this list of conditions and the following | 
|   10 #       disclaimer in the documentation and/or other materials provided |   10 #       disclaimer in the documentation and/or other materials provided | 
| (...skipping 198 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|  209           not exclusion_pattern.search(line)): |  209           not exclusion_pattern.search(line)): | 
|  210         problems.append( |  210         problems.append( | 
|  211           '%s:%d\n    %s' % (local_path, line_number, line.strip())) |  211           '%s:%d\n    %s' % (local_path, line_number, line.strip())) | 
|  212  |  212  | 
|  213   if problems: |  213   if problems: | 
|  214     return [output_api.PresubmitPromptOrNotify(_TEST_ONLY_WARNING, problems)] |  214     return [output_api.PresubmitPromptOrNotify(_TEST_ONLY_WARNING, problems)] | 
|  215   else: |  215   else: | 
|  216     return [] |  216     return [] | 
|  217  |  217  | 
|  218  |  218  | 
 |  219 def _CheckMissingFiles(input_api, output_api): | 
 |  220   """Runs verify_source_deps.py to ensure no files were added that are not in | 
 |  221   GN. | 
 |  222   """ | 
 |  223   # We need to wait until we have an input_api object and use this | 
 |  224   # roundabout construct to import checkdeps because this file is | 
 |  225   # eval-ed and thus doesn't have __file__. | 
 |  226   original_sys_path = sys.path | 
 |  227   try: | 
 |  228     sys.path = sys.path + [input_api.os_path.join( | 
 |  229         input_api.PresubmitLocalPath(), 'tools')] | 
 |  230     from verify_source_deps import missing_gn_files, missing_gyp_files | 
 |  231   finally: | 
 |  232     # Restore sys.path to what it was before. | 
 |  233     sys.path = original_sys_path | 
 |  234  | 
 |  235   gn_files = missing_gn_files() | 
 |  236   gyp_files = missing_gyp_files() | 
 |  237   results = [] | 
 |  238   if gn_files: | 
 |  239     results.append(output_api.PresubmitError( | 
 |  240         "You added one or more source files but didn't update the\n" | 
 |  241         "corresponding BUILD.gn files:\n", | 
 |  242         gn_files)) | 
 |  243   if gyp_files: | 
 |  244     results.append(output_api.PresubmitError( | 
 |  245         "You added one or more source files but didn't update the\n" | 
 |  246         "corresponding gyp files:\n", | 
 |  247         gyp_files)) | 
 |  248   return results | 
 |  249  | 
 |  250  | 
|  219 def _CommonChecks(input_api, output_api): |  251 def _CommonChecks(input_api, output_api): | 
|  220   """Checks common to both upload and commit.""" |  252   """Checks common to both upload and commit.""" | 
|  221   results = [] |  253   results = [] | 
|  222   results.extend(input_api.canned_checks.CheckOwners( |  254   results.extend(input_api.canned_checks.CheckOwners( | 
|  223       input_api, output_api, source_file_filter=None)) |  255       input_api, output_api, source_file_filter=None)) | 
|  224   results.extend(input_api.canned_checks.CheckPatchFormatted( |  256   results.extend(input_api.canned_checks.CheckPatchFormatted( | 
|  225       input_api, output_api)) |  257       input_api, output_api)) | 
|  226   results.extend(input_api.canned_checks.CheckGenderNeutral( |  258   results.extend(input_api.canned_checks.CheckGenderNeutral( | 
|  227       input_api, output_api)) |  259       input_api, output_api)) | 
|  228   results.extend(_V8PresubmitChecks(input_api, output_api)) |  260   results.extend(_V8PresubmitChecks(input_api, output_api)) | 
|  229   results.extend(_CheckUnwantedDependencies(input_api, output_api)) |  261   results.extend(_CheckUnwantedDependencies(input_api, output_api)) | 
|  230   results.extend( |  262   results.extend( | 
|  231       _CheckNoProductionCodeUsingTestOnlyFunctions(input_api, output_api)) |  263       _CheckNoProductionCodeUsingTestOnlyFunctions(input_api, output_api)) | 
|  232   results.extend( |  264   results.extend( | 
|  233       _CheckNoInlineHeaderIncludesInNormalHeaders(input_api, output_api)) |  265       _CheckNoInlineHeaderIncludesInNormalHeaders(input_api, output_api)) | 
 |  266   results.extend(_CheckMissingFiles(input_api, output_api)) | 
|  234   return results |  267   return results | 
|  235  |  268  | 
|  236  |  269  | 
|  237 def _SkipTreeCheck(input_api, output_api): |  270 def _SkipTreeCheck(input_api, output_api): | 
|  238   """Check the env var whether we want to skip tree check. |  271   """Check the env var whether we want to skip tree check. | 
|  239      Only skip if include/v8-version.h has been updated.""" |  272      Only skip if include/v8-version.h has been updated.""" | 
|  240   src_version = 'include/v8-version.h' |  273   src_version = 'include/v8-version.h' | 
|  241   if not input_api.AffectedSourceFiles( |  274   if not input_api.AffectedSourceFiles( | 
|  242       lambda file: file.LocalPath() == src_version): |  275       lambda file: file.LocalPath() == src_version): | 
|  243     return False |  276     return False | 
|  244   return input_api.environ.get('PRESUBMIT_TREE_CHECK') == 'skip' |  277   return input_api.environ.get('PRESUBMIT_TREE_CHECK') == 'skip' | 
|  245  |  278  | 
|  246  |  279  | 
|  247 def CheckChangeOnUpload(input_api, output_api): |  280 def CheckChangeOnUpload(input_api, output_api): | 
|  248   results = [] |  281   results = [] | 
|  249   results.extend(_CommonChecks(input_api, output_api)) |  282   results.extend(_CommonChecks(input_api, output_api)) | 
|  250   return results |  283   return results | 
|  251  |  284  | 
|  252  |  285  | 
|  253 def CheckChangeOnCommit(input_api, output_api): |  286 def CheckChangeOnCommit(input_api, output_api): | 
|  254   results = [] |  287   results = [] | 
|  255   results.extend(_CommonChecks(input_api, output_api)) |  288   results.extend(_CommonChecks(input_api, output_api)) | 
|  256   results.extend(input_api.canned_checks.CheckChangeHasDescription( |  289   results.extend(input_api.canned_checks.CheckChangeHasDescription( | 
|  257       input_api, output_api)) |  290       input_api, output_api)) | 
|  258   if not _SkipTreeCheck(input_api, output_api): |  291   if not _SkipTreeCheck(input_api, output_api): | 
|  259     results.extend(input_api.canned_checks.CheckTreeIsOpen( |  292     results.extend(input_api.canned_checks.CheckTreeIsOpen( | 
|  260         input_api, output_api, |  293         input_api, output_api, | 
|  261         json_url='http://v8-status.appspot.com/current?format=json')) |  294         json_url='http://v8-status.appspot.com/current?format=json')) | 
|  262   return results |  295   return results | 
| OLD | NEW |