diff options
-rw-r--r-- | PRESUBMIT.py | 8 | ||||
-rwxr-xr-x | PRESUBMIT_test.py | 16 |
2 files changed, 19 insertions, 5 deletions
diff --git a/PRESUBMIT.py b/PRESUBMIT.py index 6009243..2c6df72 100644 --- a/PRESUBMIT.py +++ b/PRESUBMIT.py @@ -559,8 +559,7 @@ def _CheckIncludeOrderInFile(input_api, f, is_source, changed_linenums): system_include_pattern = input_api.re.compile(r'\s*#include \<.*') custom_include_pattern = input_api.re.compile(r'\s*#include "(?P<FILE>.*)"') - if_pattern = input_api.re.compile(r'\s*#if.*') - endif_pattern = input_api.re.compile(r'\s*#endif.*') + if_pattern = input_api.re.compile(r'\s*#\s*(if|elif|else|endif).*') contents = f.NewContents() warnings = [] @@ -594,7 +593,7 @@ def _CheckIncludeOrderInFile(input_api, f, is_source, changed_linenums): current_scope = [] for line in contents[line_num:]: line_num += 1 - if if_pattern.match(line) or endif_pattern.match(line): + if if_pattern.match(line): scopes.append(current_scope) current_scope = [] elif (system_include_pattern.match(line) or @@ -654,8 +653,7 @@ def _CommonChecks(input_api, output_api): results.extend(_CheckUnwantedDependencies(input_api, output_api)) results.extend(_CheckFilePermissions(input_api, output_api)) results.extend(_CheckNoAuraWindowPropertyHInHeaders(input_api, output_api)) - # Causes a problem with content/renderer/render_view_impl.cc - #results.extend(_CheckIncludeOrder(input_api, output_api)) + results.extend(_CheckIncludeOrder(input_api, output_api)) if any('PRESUBMIT.py' == f.LocalPath() for f in input_api.AffectedFiles()): results.extend(input_api.canned_checks.RunUnitTestsInDirectory( diff --git a/PRESUBMIT_test.py b/PRESUBMIT_test.py index 1965d33..4133458 100755 --- a/PRESUBMIT_test.py +++ b/PRESUBMIT_test.py @@ -155,6 +155,22 @@ class IncludeOrderTest(unittest.TestCase): self.assertEqual(1, len(warnings)) self.assertTrue('2' in warnings[0]) + def testIfElifElseEndif(self): + mock_input_api = MockInputApi() + contents = ['#include "e.h"', + '#if foo', + '#include "d.h"', + '#elif bar', + '#include "c.h"', + '#else', + '#include "b.h"', + '#endif', + '#include "a.h"'] + mock_file = MockFile('', contents) + warnings = PRESUBMIT._CheckIncludeOrderInFile( + mock_input_api, mock_file, True, range(1, len(contents) + 1)) + self.assertEqual(0, len(warnings)) + if __name__ == '__main__': unittest.main() |