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

Side by Side Diff: PRESUBMIT.py

Issue 10946004: Add a presubmit check for "? true : false". (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: Created 8 years, 3 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 | « no previous file | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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 359 matching lines...) Expand 10 before | Expand all | Expand 10 after
370 files.append(f) 370 files.append(f)
371 371
372 if files: 372 if files:
373 return [output_api.PresubmitError( 373 return [output_api.PresubmitError(
374 'Do not use #pragma once in header files.\n' 374 'Do not use #pragma once in header files.\n'
375 'See http://www.chromium.org/developers/coding-style#TOC-File-headers', 375 'See http://www.chromium.org/developers/coding-style#TOC-File-headers',
376 files)] 376 files)]
377 return [] 377 return []
378 378
379 379
380 def _CheckNoTrinaryTrueFalse(input_api, output_api):
381 """Checks to make sure we don't introduce use of foo ? true : false."""
382 problems = []
383 for f in input_api.AffectedFiles():
384 if not f.LocalPath().endswith(('.cc', '.h')):
M-A Ruel 2012/09/18 10:20:40 .mm, .m, .inl
Lei Zhang 2012/09/18 18:45:18 Done.
385 continue
386
387 for line_num, line in f.ChangedContents():
388 if '? true : false' in line or '? false : true' in line:
M-A Ruel 2012/09/18 10:20:40 I'd use a regexp so whitespaces are ignored. e.g.
Lei Zhang 2012/09/18 18:45:18 Done.
389 problems.append(' %s:%d' % (f.LocalPath(), line_num))
390
391 if not problems:
392 return []
393 return [output_api.PresubmitPromptWarning(
394 'Please consider avoiding the "? true : false" pattern if possible.\n' +
395 '\n'.join(problems))]
396
397
380 def _CheckUnwantedDependencies(input_api, output_api): 398 def _CheckUnwantedDependencies(input_api, output_api):
381 """Runs checkdeps on #include statements added in this 399 """Runs checkdeps on #include statements added in this
382 change. Breaking - rules is an error, breaking ! rules is a 400 change. Breaking - rules is an error, breaking ! rules is a
383 warning. 401 warning.
384 """ 402 """
385 # We need to wait until we have an input_api object and use this 403 # We need to wait until we have an input_api object and use this
386 # roundabout construct to import checkdeps because this file is 404 # roundabout construct to import checkdeps because this file is
387 # eval-ed and thus doesn't have __file__. 405 # eval-ed and thus doesn't have __file__.
388 original_sys_path = sys.path 406 original_sys_path = sys.path
389 try: 407 try:
(...skipping 69 matching lines...) Expand 10 before | Expand all | Expand 10 after
459 input_api, output_api, excluded_paths=_EXCLUDED_PATHS)) 477 input_api, output_api, excluded_paths=_EXCLUDED_PATHS))
460 results.extend(_CheckAuthorizedAuthor(input_api, output_api)) 478 results.extend(_CheckAuthorizedAuthor(input_api, output_api))
461 results.extend( 479 results.extend(
462 _CheckNoProductionCodeUsingTestOnlyFunctions(input_api, output_api)) 480 _CheckNoProductionCodeUsingTestOnlyFunctions(input_api, output_api))
463 results.extend(_CheckNoIOStreamInHeaders(input_api, output_api)) 481 results.extend(_CheckNoIOStreamInHeaders(input_api, output_api))
464 results.extend(_CheckNoUNIT_TESTInSourceFiles(input_api, output_api)) 482 results.extend(_CheckNoUNIT_TESTInSourceFiles(input_api, output_api))
465 results.extend(_CheckNoNewWStrings(input_api, output_api)) 483 results.extend(_CheckNoNewWStrings(input_api, output_api))
466 results.extend(_CheckNoDEPSGIT(input_api, output_api)) 484 results.extend(_CheckNoDEPSGIT(input_api, output_api))
467 results.extend(_CheckNoBannedFunctions(input_api, output_api)) 485 results.extend(_CheckNoBannedFunctions(input_api, output_api))
468 results.extend(_CheckNoPragmaOnce(input_api, output_api)) 486 results.extend(_CheckNoPragmaOnce(input_api, output_api))
487 results.extend(_CheckNoTrinaryTrueFalse(input_api, output_api))
469 results.extend(_CheckUnwantedDependencies(input_api, output_api)) 488 results.extend(_CheckUnwantedDependencies(input_api, output_api))
470 results.extend(_CheckFilePermissions(input_api, output_api)) 489 results.extend(_CheckFilePermissions(input_api, output_api))
471 return results 490 return results
472 491
473 492
474 def _CheckSubversionConfig(input_api, output_api): 493 def _CheckSubversionConfig(input_api, output_api):
475 """Verifies the subversion config file is correctly setup. 494 """Verifies the subversion config file is correctly setup.
476 495
477 Checks that autoprops are enabled, returns an error otherwise. 496 Checks that autoprops are enabled, returns an error otherwise.
478 """ 497 """
(...skipping 116 matching lines...) Expand 10 before | Expand all | Expand 10 after
595 # Same for ash and chromeos. 614 # Same for ash and chromeos.
596 if any(re.search('[/_](ash|aura)', f) for f in files): 615 if any(re.search('[/_](ash|aura)', f) for f in files):
597 trybots += ['linux_chromeos', 'linux_chromeos_clang:compile', 'win_aura', 616 trybots += ['linux_chromeos', 'linux_chromeos_clang:compile', 'win_aura',
598 'linux_chromeos_asan'] 617 'linux_chromeos_asan']
599 else: 618 else:
600 if any(re.search('[/_]chromeos', f) for f in files): 619 if any(re.search('[/_]chromeos', f) for f in files):
601 trybots += ['linux_chromeos', 'linux_chromeos_clang:compile', 620 trybots += ['linux_chromeos', 'linux_chromeos_clang:compile',
602 'linux_chromeos_asan'] 621 'linux_chromeos_asan']
603 622
604 return trybots 623 return trybots
OLDNEW
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698