Chromium Code Reviews| Index: Tools/Scripts/webkitpy/style/checkers/cpp.py |
| diff --git a/Tools/Scripts/webkitpy/style/checkers/cpp.py b/Tools/Scripts/webkitpy/style/checkers/cpp.py |
| index 9b6bbf9c34c99d5eae2ab487c37feeece5c32647..52519527f81faf8f6855ed1f6cadf92134611399 100644 |
| --- a/Tools/Scripts/webkitpy/style/checkers/cpp.py |
| +++ b/Tools/Scripts/webkitpy/style/checkers/cpp.py |
| @@ -36,7 +36,6 @@ |
| """Support for check-webkit-style.""" |
| -import codecs |
| import math # for log |
| import os |
| import os.path |
| @@ -49,9 +48,6 @@ import unicodedata |
| from webkitpy.common.memoized import memoized |
| from webkitpy.common.system.filesystem import FileSystem |
| -# The key to use to provide a class to fake loading a header file. |
| -INCLUDE_IO_INJECTION_KEY = 'include_header_io' |
| - |
| # Headers that we consider STL headers. |
| _STL_HEADERS = frozenset([ |
| 'algobase.h', 'algorithm', 'alloc.h', 'bitset', 'deque', 'exception', |
| @@ -122,12 +118,6 @@ _OTHER_HEADER = 2 |
| _MOC_HEADER = 3 |
| -# A dictionary of items customize behavior for unit test. For example, |
| -# INCLUDE_IO_INJECTION_KEY allows providing a custom io class which allows |
| -# for faking a header file. |
| -_unit_test_config = {} |
| - |
| - |
| # The regexp compilation caching is inlined in all regexp functions for |
| # performance reasons; factoring it out into a separate function turns out |
| # to be noticeably expensive. |
| @@ -3467,14 +3457,13 @@ def check_for_toFoo_definition(filename, pattern, error): |
| return matches |
| - def check_in_mock_header(filename, matches=None, io=codecs): |
| + def check_in_mock_header(filename, matches=None): |
| if not filename == 'Foo.h': |
| return False |
| - io = _unit_test_config.get(INCLUDE_IO_INJECTION_KEY, codecs) |
| header_file = None |
| try: |
| - header_file = io.open(filename, 'r', 'utf8', 'replace') |
| + header_file = CppChecker.fs.read_text_file(filename) |
| except IOError: |
| return False |
| line_number = 0 |
| @@ -3731,7 +3720,7 @@ def files_belong_to_same_module(filename_cpp, filename_h): |
| return files_belong_to_same_module, common_path |
| -def update_include_state(filename, include_state, io=codecs): |
| +def update_include_state(filename, include_state): |
| """Fill up the include_state with new includes found from the file. |
| Args: |
| @@ -3742,10 +3731,9 @@ def update_include_state(filename, include_state, io=codecs): |
| Returns: |
| True if a header was succesfully added. False otherwise. |
| """ |
| - io = _unit_test_config.get(INCLUDE_IO_INJECTION_KEY, codecs) |
| header_file = None |
| try: |
| - header_file = io.open(filename, 'r', 'utf8', 'replace') |
| + header_file = CppChecker.fs.read_text_file(filename) |
| except IOError: |
| return False |
| line_number = 0 |
| @@ -4013,8 +4001,10 @@ class CppChecker(object): |
| 'whitespace/todo', |
| ]) |
| + fs = None |
| + |
| def __init__(self, file_path, file_extension, handle_style_error, |
| - min_confidence): |
| + min_confidence, fs=None): |
| """Create a CppChecker instance. |
| Args: |
| @@ -4026,6 +4016,7 @@ class CppChecker(object): |
| self.file_path = file_path |
| self.handle_style_error = handle_style_error |
| self.min_confidence = min_confidence |
| + CppChecker.fs = fs or FileSystem() |
|
Dirk Pranke
2013/10/23 17:42:52
Note that this would be problematic if we had mult
|
| # Useful for unit testing. |
| def __eq__(self, other): |
| @@ -4052,9 +4043,6 @@ class CppChecker(object): |
| # FIXME: Remove this function (requires refactoring unit tests). |
| -def process_file_data(filename, file_extension, lines, error, min_confidence, unit_test_config): |
| - global _unit_test_config |
| - _unit_test_config = unit_test_config |
| - checker = CppChecker(filename, file_extension, error, min_confidence) |
| +def process_file_data(filename, file_extension, lines, error, min_confidence, fs=None): |
| + checker = CppChecker(filename, file_extension, error, min_confidence, fs) |
| checker.check(lines) |
| - _unit_test_config = {} |