diff options
-rw-r--r-- | PRESUBMIT.py | 31 | ||||
-rwxr-xr-x | PRESUBMIT_test.py | 27 | ||||
-rw-r--r-- | PRESUBMIT_test_mocks.py | 3 |
3 files changed, 0 insertions, 61 deletions
diff --git a/PRESUBMIT.py b/PRESUBMIT.py index 3000e10..18fe621 100644 --- a/PRESUBMIT.py +++ b/PRESUBMIT.py @@ -1305,36 +1305,6 @@ def _CheckForCopyrightedCode(input_api, output_api): return copyright_scanner.ScanAtPresubmit(input_api, output_api) -def _CheckSingletonInHeaders(input_api, output_api): - """Checks to make sure no header files have |Singleton<|.""" - def FileFilter(affected_file): - # It's ok for base/memory/singleton.h to have |Singleton<|. - black_list = (_EXCLUDED_PATHS + - input_api.DEFAULT_BLACK_LIST + - (r"^base[\\\/]memory[\\\/]singleton\.h$",)) - return input_api.FilterSourceFile(affected_file, black_list=black_list) - - pattern = input_api.re.compile(r'(?<!class\s)Singleton\s*<') - files = [] - for f in input_api.AffectedSourceFiles(FileFilter): - if (f.LocalPath().endswith('.h') or f.LocalPath().endswith('.hxx') or - f.LocalPath().endswith('.hpp') or f.LocalPath().endswith('.inl')): - contents = input_api.ReadFile(f.LocalPath()) - for line in contents.splitlines(False): - if (not input_api.re.match(r'//', line) and # Strip C++ comment. - pattern.search(line)): - files.append(f) - break - - if files: - return [ output_api.PresubmitError( - 'Found Singleton<T> in the following header files.\n' + - 'Please move them to an appropriate source file so that the ' + - 'template gets instantiated in a single compilation unit.', - files) ] - return [] - - _DEPRECATED_CSS = [ # Values ( "-webkit-box", "flex" ), @@ -1452,7 +1422,6 @@ def _CommonChecks(input_api, output_api): results.extend(_CheckForIPCRules(input_api, output_api)) results.extend(_CheckForCopyrightedCode(input_api, output_api)) results.extend(_CheckForWindowsLineEndings(input_api, output_api)) - results.extend(_CheckSingletonInHeaders(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 7de0c3b..00997b4 100755 --- a/PRESUBMIT_test.py +++ b/PRESUBMIT_test.py @@ -384,33 +384,6 @@ class BadExtensionsTest(unittest.TestCase): self.assertEqual({}, results) -class CheckSingletonInHeadersTest(unittest.TestCase): - def testSingletonInArbitraryHeader(self): - diff_singleton_h = ['base::subtle::AtomicWord ' - 'Singleton<Type, Traits, DifferentiatingType>::'] - diff_foo_h = ['// Singleton<Foo> in comment.', - 'friend class Singleton<Foo>'] - diff_bad_h = ['Foo* foo = Singleton<Foo>::get();'] - mock_input_api = MockInputApi() - mock_input_api.files = [MockFile('base/memory/singleton.h', - diff_singleton_h), - MockFile('foo.h', diff_foo_h), - MockFile('bad.h', diff_bad_h)] - warnings = PRESUBMIT._CheckSingletonInHeaders(mock_input_api, - MockOutputApi()) - self.assertEqual(1, len(warnings)) - self.assertEqual('error', warnings[0].type) - self.assertTrue('Found Singleton<T>' in warnings[0].message) - - def testSingletonInCC(self): - diff_cc = ['Foo* foo = Singleton<Foo>::get();'] - mock_input_api = MockInputApi() - mock_input_api.files = [MockFile('some/path/foo.cc', diff_cc)] - warnings = PRESUBMIT._CheckSingletonInHeaders(mock_input_api, - MockOutputApi()) - self.assertEqual(0, len(warnings)) - - class InvalidOSMacroNamesTest(unittest.TestCase): def testInvalidOSMacroNames(self): lines = ['#if defined(OS_WINDOWS)', diff --git a/PRESUBMIT_test_mocks.py b/PRESUBMIT_test_mocks.py index fa4f4bf..7d286b9 100644 --- a/PRESUBMIT_test_mocks.py +++ b/PRESUBMIT_test_mocks.py @@ -29,9 +29,6 @@ class MockInputApi(object): def AffectedFiles(self, file_filter=None): return self.files - def AffectedSourceFiles(self, file_filter=None): - return self.files - def PresubmitLocalPath(self): return os.path.dirname(__file__) |