Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 # Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 # Copyright (c) 2012 The Chromium Authors. All rights reserved. |
| 2 # Use of this source code is governed by a BSD-style license that can be | 2 # Use of this source code is governed by a BSD-style license that can be |
| 3 # found in the LICENSE file. | 3 # found in the LICENSE file. |
| 4 | 4 |
| 5 """Top-level presubmit script for Chromium. | 5 """Top-level presubmit script for Chromium. |
| 6 | 6 |
| 7 See http://dev.chromium.org/developers/how-tos/depottools/presubmit-scripts | 7 See http://dev.chromium.org/developers/how-tos/depottools/presubmit-scripts |
| 8 for more details about the presubmit API built into gcl. | 8 for more details about the presubmit API built into gcl. |
| 9 """ | 9 """ |
| 10 | 10 |
| (...skipping 336 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 347 result = [] | 347 result = [] |
| 348 if (warnings): | 348 if (warnings): |
| 349 result.append(output_api.PresubmitPromptWarning( | 349 result.append(output_api.PresubmitPromptWarning( |
| 350 'Banned functions were used.\n' + '\n'.join(warnings))) | 350 'Banned functions were used.\n' + '\n'.join(warnings))) |
| 351 if (errors): | 351 if (errors): |
| 352 result.append(output_api.PresubmitError( | 352 result.append(output_api.PresubmitError( |
| 353 'Banned functions were used.\n' + '\n'.join(errors))) | 353 'Banned functions were used.\n' + '\n'.join(errors))) |
| 354 return result | 354 return result |
| 355 | 355 |
| 356 | 356 |
| 357 def _CheckNoPragmaOnce(input_api, output_api): | |
| 358 """Make sure that banned functions are not used.""" | |
| 359 files = [] | |
| 360 pattern = input_api.re.compile(r'^#pragma\s+once', | |
| 361 input_api.re.MULTILINE) | |
| 362 for f in input_api.AffectedSourceFiles(input_api.FilterSourceFile): | |
| 363 if not f.LocalPath().endswith('.h'): | |
| 364 continue | |
| 365 contents = input_api.ReadFile(f) | |
| 366 if pattern.search(contents): | |
| 367 files.append(f) | |
| 368 | |
| 369 if files: | |
| 370 return [output_api.PresubmitError( | |
| 371 'Do not use #pragma once in header files.\n' + | |
|
awong
2012/07/11 05:41:06
I don't think you need this plus to concat these s
dcheng
2012/07/11 05:44:19
Oops, you're right. I copied this from the iostrea
| |
| 372 'See http://www.chromium.org/developers/coding-style#TOC-File-headers', | |
| 373 files)] | |
| 374 return [] | |
| 375 | |
| 357 | 376 |
| 358 def _CommonChecks(input_api, output_api): | 377 def _CommonChecks(input_api, output_api): |
| 359 """Checks common to both upload and commit.""" | 378 """Checks common to both upload and commit.""" |
| 360 results = [] | 379 results = [] |
| 361 results.extend(input_api.canned_checks.PanProjectChecks( | 380 results.extend(input_api.canned_checks.PanProjectChecks( |
| 362 input_api, output_api, excluded_paths=_EXCLUDED_PATHS)) | 381 input_api, output_api, excluded_paths=_EXCLUDED_PATHS)) |
| 363 results.extend(_CheckAuthorizedAuthor(input_api, output_api)) | 382 results.extend(_CheckAuthorizedAuthor(input_api, output_api)) |
| 364 results.extend( | 383 results.extend( |
| 365 _CheckNoProductionCodeUsingTestOnlyFunctions(input_api, output_api)) | 384 _CheckNoProductionCodeUsingTestOnlyFunctions(input_api, output_api)) |
| 366 results.extend(_CheckNoIOStreamInHeaders(input_api, output_api)) | 385 results.extend(_CheckNoIOStreamInHeaders(input_api, output_api)) |
| 367 results.extend(_CheckNoUNIT_TESTInSourceFiles(input_api, output_api)) | 386 results.extend(_CheckNoUNIT_TESTInSourceFiles(input_api, output_api)) |
| 368 results.extend(_CheckNoNewWStrings(input_api, output_api)) | 387 results.extend(_CheckNoNewWStrings(input_api, output_api)) |
| 369 results.extend(_CheckNoDEPSGIT(input_api, output_api)) | 388 results.extend(_CheckNoDEPSGIT(input_api, output_api)) |
| 370 results.extend(_CheckNoBannedFunctions(input_api, output_api)) | 389 results.extend(_CheckNoBannedFunctions(input_api, output_api)) |
| 390 results.extend(_CheckNoPragmaOnce(input_api, output_api)) | |
| 371 return results | 391 return results |
| 372 | 392 |
| 373 | 393 |
| 374 def _CheckSubversionConfig(input_api, output_api): | 394 def _CheckSubversionConfig(input_api, output_api): |
| 375 """Verifies the subversion config file is correctly setup. | 395 """Verifies the subversion config file is correctly setup. |
| 376 | 396 |
| 377 Checks that autoprops are enabled, returns an error otherwise. | 397 Checks that autoprops are enabled, returns an error otherwise. |
| 378 """ | 398 """ |
| 379 join = input_api.os_path.join | 399 join = input_api.os_path.join |
| 380 if input_api.platform == 'win32': | 400 if input_api.platform == 'win32': |
| (...skipping 111 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 492 | 512 |
| 493 trybots = ['win_rel', 'linux_rel', 'mac_rel', 'linux_clang:compile'] | 513 trybots = ['win_rel', 'linux_rel', 'mac_rel', 'linux_clang:compile'] |
| 494 # match things like aurax11.cc or aura_oak.cc | 514 # match things like aurax11.cc or aura_oak.cc |
| 495 if any(re.search('[/_]aura', f) for f in files): | 515 if any(re.search('[/_]aura', f) for f in files): |
| 496 trybots.append('linux_chromeos') | 516 trybots.append('linux_chromeos') |
| 497 | 517 |
| 498 if not all(f.startswith('chrome/') for f in files): | 518 if not all(f.startswith('chrome/') for f in files): |
| 499 trybots.append('android') | 519 trybots.append('android') |
| 500 | 520 |
| 501 return trybots | 521 return trybots |
| OLD | NEW |