summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--PRESUBMIT.py8
-rwxr-xr-xPRESUBMIT_test.py16
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()