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 1385 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1396 source_file_filter=lambda x: x.LocalPath().endswith('.grd'))) | 1396 source_file_filter=lambda x: x.LocalPath().endswith('.grd'))) |
1397 results.extend(_CheckSpamLogging(input_api, output_api)) | 1397 results.extend(_CheckSpamLogging(input_api, output_api)) |
1398 results.extend(_CheckForAnonymousVariables(input_api, output_api)) | 1398 results.extend(_CheckForAnonymousVariables(input_api, output_api)) |
1399 results.extend(_CheckCygwinShell(input_api, output_api)) | 1399 results.extend(_CheckCygwinShell(input_api, output_api)) |
1400 results.extend(_CheckUserActionUpdate(input_api, output_api)) | 1400 results.extend(_CheckUserActionUpdate(input_api, output_api)) |
1401 results.extend(_CheckNoDeprecatedCSS(input_api, output_api)) | 1401 results.extend(_CheckNoDeprecatedCSS(input_api, output_api)) |
1402 results.extend(_CheckNoDeprecatedJS(input_api, output_api)) | 1402 results.extend(_CheckNoDeprecatedJS(input_api, output_api)) |
1403 results.extend(_CheckParseErrors(input_api, output_api)) | 1403 results.extend(_CheckParseErrors(input_api, output_api)) |
1404 results.extend(_CheckForIPCRules(input_api, output_api)) | 1404 results.extend(_CheckForIPCRules(input_api, output_api)) |
1405 results.extend(_CheckForCopyrightedCode(input_api, output_api)) | 1405 results.extend(_CheckForCopyrightedCode(input_api, output_api)) |
| 1406 results.extend(_CheckForWindowsLineEndings(input_api, output_api)) |
1406 | 1407 |
1407 if any('PRESUBMIT.py' == f.LocalPath() for f in input_api.AffectedFiles()): | 1408 if any('PRESUBMIT.py' == f.LocalPath() for f in input_api.AffectedFiles()): |
1408 results.extend(input_api.canned_checks.RunUnitTestsInDirectory( | 1409 results.extend(input_api.canned_checks.RunUnitTestsInDirectory( |
1409 input_api, output_api, | 1410 input_api, output_api, |
1410 input_api.PresubmitLocalPath(), | 1411 input_api.PresubmitLocalPath(), |
1411 whitelist=[r'^PRESUBMIT_test\.py$'])) | 1412 whitelist=[r'^PRESUBMIT_test\.py$'])) |
1412 return results | 1413 return results |
1413 | 1414 |
1414 | 1415 |
1415 def _CheckAuthorizedAuthor(input_api, output_api): | 1416 def _CheckAuthorizedAuthor(input_api, output_api): |
(...skipping 165 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1581 problems.append( | 1582 problems.append( |
1582 '%s:%d\n %s' % (local_path, line_number, line.strip())) | 1583 '%s:%d\n %s' % (local_path, line_number, line.strip())) |
1583 | 1584 |
1584 if problems: | 1585 if problems: |
1585 return [output_api.PresubmitPromptWarning( | 1586 return [output_api.PresubmitPromptWarning( |
1586 _IPC_ENUM_TRAITS_DEPRECATED, problems)] | 1587 _IPC_ENUM_TRAITS_DEPRECATED, problems)] |
1587 else: | 1588 else: |
1588 return [] | 1589 return [] |
1589 | 1590 |
1590 | 1591 |
| 1592 def _CheckForWindowsLineEndings(input_api, output_api): |
| 1593 """Check source code and known ascii text files for Windows style line |
| 1594 endings. |
| 1595 """ |
| 1596 known_text_files = r'.*\.(txt|html|htm|mhtml|py)$' |
| 1597 |
| 1598 file_inclusion_pattern = ( |
| 1599 known_text_files, |
| 1600 r'.+%s' % _IMPLEMENTATION_EXTENSIONS |
| 1601 ) |
| 1602 |
| 1603 filter = lambda f: input_api.FilterSourceFile( |
| 1604 f, white_list=file_inclusion_pattern, black_list=None) |
| 1605 files = [f.LocalPath() for f in |
| 1606 input_api.AffectedSourceFiles(filter)] |
| 1607 |
| 1608 problems = [] |
| 1609 |
| 1610 for file in files: |
| 1611 fp = open(file, 'r') |
| 1612 for line in fp: |
| 1613 if line.endswith('\r\n'): |
| 1614 problems.append(file) |
| 1615 break |
| 1616 fp.close() |
| 1617 |
| 1618 if problems: |
| 1619 return [output_api.PresubmitPromptWarning('Are you sure that you want ' |
| 1620 'these files to contain Windows style line endings?\n' + |
| 1621 '\n'.join(problems))] |
| 1622 |
| 1623 return [] |
| 1624 |
| 1625 |
1591 def CheckChangeOnUpload(input_api, output_api): | 1626 def CheckChangeOnUpload(input_api, output_api): |
1592 results = [] | 1627 results = [] |
1593 results.extend(_CommonChecks(input_api, output_api)) | 1628 results.extend(_CommonChecks(input_api, output_api)) |
1594 results.extend(_CheckValidHostsInDEPS(input_api, output_api)) | 1629 results.extend(_CheckValidHostsInDEPS(input_api, output_api)) |
1595 results.extend(_CheckJavaStyle(input_api, output_api)) | 1630 results.extend(_CheckJavaStyle(input_api, output_api)) |
1596 results.extend(_CheckUmaHistogramChanges(input_api, output_api)) | 1631 results.extend(_CheckUmaHistogramChanges(input_api, output_api)) |
1597 results.extend( | 1632 results.extend( |
1598 input_api.canned_checks.CheckGNFormatted(input_api, output_api)) | 1633 input_api.canned_checks.CheckGNFormatted(input_api, output_api)) |
1599 return results | 1634 return results |
1600 | 1635 |
(...skipping 211 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1812 ] | 1847 ] |
1813 | 1848 |
1814 # Match things like path/aura/file.cc and path/file_aura.cc. | 1849 # Match things like path/aura/file.cc and path/file_aura.cc. |
1815 # Same for chromeos. | 1850 # Same for chromeos. |
1816 if any(re.search(r'[\\\/_](aura|chromeos)', f) for f in files): | 1851 if any(re.search(r'[\\\/_](aura|chromeos)', f) for f in files): |
1817 builders.extend([ | 1852 builders.extend([ |
1818 'linux_chromeos_asan', | 1853 'linux_chromeos_asan', |
1819 ]) | 1854 ]) |
1820 | 1855 |
1821 return GetDefaultTryConfigs(builders) | 1856 return GetDefaultTryConfigs(builders) |
OLD | NEW |