Commit 6402141d authored by local_bot's avatar local_bot Committed by LUCI CQ

Rename blocklist/allowlist to skip_list/check_list

This change is backwards compatible.

R=dpranke@google.com

Bug: 1098560
Change-Id: Ic9447041a68b8c379f65900af11c89b006e3f806
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/2285156
Commit-Queue: Josip Sokcevic <sokcevic@google.com>
Reviewed-by: 's avatarDirk Pranke <dpranke@google.com>
parent 26314e9f
...@@ -359,7 +359,7 @@ def CheckChangeHasNoTabs(input_api, output_api, source_file_filter=None): ...@@ -359,7 +359,7 @@ def CheckChangeHasNoTabs(input_api, output_api, source_file_filter=None):
"""Checks that there are no tab characters in any of the text files to be """Checks that there are no tab characters in any of the text files to be
submitted. submitted.
""" """
# In addition to the filter, make sure that makefiles are blocklisted. # In addition to the filter, make sure that makefiles are skipped.
if not source_file_filter: if not source_file_filter:
# It's the default filter. # It's the default filter.
source_file_filter = input_api.FilterSourceFile source_file_filter = input_api.FilterSourceFile
...@@ -608,15 +608,17 @@ def CheckTreeIsOpen(input_api, output_api, ...@@ -608,15 +608,17 @@ def CheckTreeIsOpen(input_api, output_api,
return [] return []
def GetUnitTestsInDirectory( def GetUnitTestsInDirectory(
input_api, output_api, directory, allowlist=None, blocklist=None, env=None, input_api, output_api, directory, files_to_check=None, files_to_skip=None,
run_on_python2=True, run_on_python3=True, whitelist=None, blacklist=None): env=None, run_on_python2=True, run_on_python3=True, whitelist=None,
blacklist=None, allowlist=None, blocklist=None):
"""Lists all files in a directory and runs them. Doesn't recurse. """Lists all files in a directory and runs them. Doesn't recurse.
It's mainly a wrapper for RunUnitTests. Use allowlist and blocklist to filter It's mainly a wrapper for RunUnitTests. Use allowlist and blocklist to filter
tests accordingly. tests accordingly.
""" """
allowlist = allowlist or whitelist # TODO(https://crbug.com/1098560): Add warnings before removing bc.
blocklist = blocklist or blacklist files_to_check = files_to_check or allowlist or whitelist
files_to_skip = files_to_skip or blocklist or blacklist
unit_tests = [] unit_tests = []
test_path = input_api.os_path.abspath( test_path = input_api.os_path.abspath(
input_api.os_path.join(input_api.PresubmitLocalPath(), directory)) input_api.os_path.join(input_api.PresubmitLocalPath(), directory))
...@@ -630,9 +632,9 @@ def GetUnitTestsInDirectory( ...@@ -630,9 +632,9 @@ def GetUnitTestsInDirectory(
fullpath = input_api.os_path.join(test_path, filename) fullpath = input_api.os_path.join(test_path, filename)
if not input_api.os_path.isfile(fullpath): if not input_api.os_path.isfile(fullpath):
continue continue
if allowlist and not check(filename, allowlist): if files_to_check and not check(filename, files_to_check):
continue continue
if blocklist and check(filename, blocklist): if files_to_skip and check(filename, files_to_skip):
continue continue
unit_tests.append(input_api.os_path.join(directory, filename)) unit_tests.append(input_api.os_path.join(directory, filename))
to_run += 1 to_run += 1
...@@ -641,8 +643,8 @@ def GetUnitTestsInDirectory( ...@@ -641,8 +643,8 @@ def GetUnitTestsInDirectory(
if not to_run: if not to_run:
return [ return [
output_api.PresubmitPromptWarning( output_api.PresubmitPromptWarning(
'Out of %d files, found none that matched w=%r, b=%r in directory %s' 'Out of %d files, found none that matched c=%r, s=%r in directory %s'
% (found, allowlist, blocklist, directory)) % (found, files_to_check, files_to_skip, directory))
] ]
return GetUnitTests( return GetUnitTests(
input_api, output_api, unit_tests, env, run_on_python2, run_on_python3) input_api, output_api, unit_tests, env, run_on_python2, run_on_python3)
...@@ -700,22 +702,23 @@ def GetUnitTests( ...@@ -700,22 +702,23 @@ def GetUnitTests(
def GetUnitTestsRecursively(input_api, output_api, directory, def GetUnitTestsRecursively(input_api, output_api, directory,
allowlist=None, blocklist=None, run_on_python2=True, files_to_check=None, files_to_skip=None,
run_on_python3=True, whitelist=None, run_on_python2=True, run_on_python3=True,
blacklist=None): whitelist=None, blacklist=None, allowlist=None,
blocklist=None):
"""Gets all files in the directory tree (git repo) that match the whitelist. """Gets all files in the directory tree (git repo) that match the whitelist.
Restricts itself to only find files within the Change's source repo, not Restricts itself to only find files within the Change's source repo, not
dependencies. dependencies.
""" """
allowlist = allowlist or whitelist files_to_check = files_to_check or allowlist or whitelist
blocklist = blocklist or blacklist files_to_skip = files_to_skip or blocklist or blacklist
assert allowlist is not None assert files_to_check is not None
assert blocklist is not None assert files_to_skip is not None
def check(filename): def check(filename):
return (any(input_api.re.match(f, filename) for f in allowlist) and return (any(input_api.re.match(f, filename) for f in files_to_check) and
not any(input_api.re.match(f, filename) for f in blocklist)) not any(input_api.re.match(f, filename) for f in files_to_skip))
tests = [] tests = []
...@@ -729,8 +732,8 @@ def GetUnitTestsRecursively(input_api, output_api, directory, ...@@ -729,8 +732,8 @@ def GetUnitTestsRecursively(input_api, output_api, directory,
if not to_run: if not to_run:
return [ return [
output_api.PresubmitPromptWarning( output_api.PresubmitPromptWarning(
'Out of %d files, found none that matched w=%r, b=%r in directory %s' 'Out of %d files, found none that matched c=%r, s=%r in directory %s'
% (found, allowlist, blocklist, directory)) % (found, files_to_check, files_to_skip, directory))
] ]
return GetUnitTests(input_api, output_api, tests, return GetUnitTests(input_api, output_api, tests,
...@@ -814,7 +817,7 @@ def RunPythonUnitTests(input_api, *args, **kwargs): ...@@ -814,7 +817,7 @@ def RunPythonUnitTests(input_api, *args, **kwargs):
GetPythonUnitTests(input_api, *args, **kwargs), False) GetPythonUnitTests(input_api, *args, **kwargs), False)
def _FetchAllFiles(input_api, allow_list, block_list): def _FetchAllFiles(input_api, files_to_check, files_to_skip):
"""Hack to fetch all files.""" """Hack to fetch all files."""
# We cannot use AffectedFiles here because we want to test every python # We cannot use AffectedFiles here because we want to test every python
# file on each single python change. It's because a change in a python file # file on each single python change. It's because a change in a python file
...@@ -836,24 +839,27 @@ def _FetchAllFiles(input_api, allow_list, block_list): ...@@ -836,24 +839,27 @@ def _FetchAllFiles(input_api, allow_list, block_list):
# Passes dirnames in block list to speed up search. # Passes dirnames in block list to speed up search.
for item in dirnames[:]: for item in dirnames[:]:
filepath = input_api.os_path.join(dirpath, item)[path_len + 1:] filepath = input_api.os_path.join(dirpath, item)[path_len + 1:]
if Find(filepath, block_list): if Find(filepath, files_to_skip):
dirnames.remove(item) dirnames.remove(item)
for item in filenames: for item in filenames:
filepath = input_api.os_path.join(dirpath, item)[path_len + 1:] filepath = input_api.os_path.join(dirpath, item)[path_len + 1:]
if Find(filepath, allow_list) and not Find(filepath, block_list): if Find(filepath, files_to_check) and not Find(filepath, files_to_skip):
files.append(filepath) files.append(filepath)
return files return files
def GetPylint(input_api, output_api, allow_list=None, block_list=None, def GetPylint(input_api, output_api, files_to_check=None, files_to_skip=None,
disabled_warnings=None, extra_paths_list=None, pylintrc=None, disabled_warnings=None, extra_paths_list=None, pylintrc=None,
white_list=None, black_list=None): white_list=None, black_list=None, allow_list=None,
block_list=None):
"""Run pylint on python files. """Run pylint on python files.
The default allow_list enforces looking only at *.py files. The default files_to_check enforces looking only at *.py files.
""" """
allow_list = tuple(allow_list or white_list or (r'.*\.py$',)) files_to_check = tuple(files_to_check or allow_list or white_list or
block_list = tuple(block_list or black_list or input_api.DEFAULT_BLOCK_LIST) (r'.*\.py$',))
files_to_skip = tuple(files_to_skip or block_list or black_list or
input_api.DEFAULT_FILES_TO_SKIP)
extra_paths_list = extra_paths_list or [] extra_paths_list = extra_paths_list or []
if input_api.is_committing: if input_api.is_committing:
...@@ -877,7 +883,7 @@ def GetPylint(input_api, output_api, allow_list=None, block_list=None, ...@@ -877,7 +883,7 @@ def GetPylint(input_api, output_api, allow_list=None, block_list=None,
input_api.PresubmitLocalPath(), input_api.change.RepositoryRoot()), '') input_api.PresubmitLocalPath(), input_api.change.RepositoryRoot()), '')
return input_api.re.escape(prefix) + regex return input_api.re.escape(prefix) + regex
src_filter = lambda x: input_api.FilterSourceFile( src_filter = lambda x: input_api.FilterSourceFile(
x, map(rel_path, allow_list), map(rel_path, block_list)) x, map(rel_path, files_to_check), map(rel_path, files_to_skip))
if not input_api.AffectedSourceFiles(src_filter): if not input_api.AffectedSourceFiles(src_filter):
input_api.logging.info('Skipping pylint: no matching changes.') input_api.logging.info('Skipping pylint: no matching changes.')
return [] return []
...@@ -890,7 +896,7 @@ def GetPylint(input_api, output_api, allow_list=None, block_list=None, ...@@ -890,7 +896,7 @@ def GetPylint(input_api, output_api, allow_list=None, block_list=None,
if disabled_warnings: if disabled_warnings:
extra_args.extend(['-d', ','.join(disabled_warnings)]) extra_args.extend(['-d', ','.join(disabled_warnings)])
files = _FetchAllFiles(input_api, allow_list, block_list) files = _FetchAllFiles(input_api, files_to_check, files_to_skip)
if not files: if not files:
return [] return []
files.sort() files.sort()
...@@ -1184,15 +1190,15 @@ def PanProjectChecks(input_api, output_api, ...@@ -1184,15 +1190,15 @@ def PanProjectChecks(input_api, output_api,
} }
results = [] results = []
# This code loads the default block list (e.g. third_party, experimental, etc) # This code loads the default skip list (e.g. third_party, experimental, etc)
# and add our block list (breakpad, skia and v8 are still not following # and add our skip list (breakpad, skia and v8 are still not following
# google style and are not really living this repository). # google style and are not really living this repository).
# See presubmit_support.py InputApi.FilterSourceFile for the (simple) usage. # See presubmit_support.py InputApi.FilterSourceFile for the (simple) usage.
block_list = input_api.DEFAULT_BLOCK_LIST + excluded_paths files_to_skip = input_api.DEFAULT_FILES_TO_SKIP + excluded_paths
allow_list = input_api.DEFAULT_ALLOW_LIST + text_files files_to_check = input_api.DEFAULT_FILES_TO_CHECK + text_files
sources = lambda x: input_api.FilterSourceFile(x, block_list=block_list) sources = lambda x: input_api.FilterSourceFile(x, files_to_skip=files_to_skip)
text_files = lambda x: input_api.FilterSourceFile( text_files = lambda x: input_api.FilterSourceFile(
x, block_list=block_list, allow_list=allow_list) x, files_to_skip=files_to_skip, files_to_check=files_to_check)
snapshot_memory = [] snapshot_memory = []
def snapshot(msg): def snapshot(msg):
......
...@@ -492,8 +492,8 @@ class InputApi(object): ...@@ -492,8 +492,8 @@ class InputApi(object):
# #
# Files without an extension aren't included in the list. If you want to # Files without an extension aren't included in the list. If you want to
# filter them as source files, add r'(^|.*?[\\\/])[^.]+$' to the allow list. # filter them as source files, add r'(^|.*?[\\\/])[^.]+$' to the allow list.
# Note that ALL CAPS files are blocked in DEFAULT_BLOCK_LIST below. # Note that ALL CAPS files are skipped in DEFAULT_FILES_TO_SKIP below.
DEFAULT_ALLOW_LIST = ( DEFAULT_FILES_TO_CHECK = (
# C++ and friends # C++ and friends
r'.+\.c$', r'.+\.cc$', r'.+\.cpp$', r'.+\.h$', r'.+\.m$', r'.+\.mm$', r'.+\.c$', r'.+\.cc$', r'.+\.cpp$', r'.+\.h$', r'.+\.m$', r'.+\.mm$',
r'.+\.inl$', r'.+\.asm$', r'.+\.hxx$', r'.+\.hpp$', r'.+\.s$', r'.+\.S$', r'.+\.inl$', r'.+\.asm$', r'.+\.hxx$', r'.+\.hpp$', r'.+\.s$', r'.+\.S$',
...@@ -506,7 +506,7 @@ class InputApi(object): ...@@ -506,7 +506,7 @@ class InputApi(object):
# Path regexp that should be excluded from being considered containing source # Path regexp that should be excluded from being considered containing source
# files. Don't modify this list from a presubmit script! # files. Don't modify this list from a presubmit script!
DEFAULT_BLOCK_LIST = ( DEFAULT_FILES_TO_SKIP = (
r'testing_support[\\\/]google_appengine[\\\/].*', r'testing_support[\\\/]google_appengine[\\\/].*',
r'.*\bexperimental[\\\/].*', r'.*\bexperimental[\\\/].*',
# Exclude third_party/.* but NOT third_party/{WebKit,blink} # Exclude third_party/.* but NOT third_party/{WebKit,blink}
...@@ -530,22 +530,42 @@ class InputApi(object): ...@@ -530,22 +530,42 @@ class InputApi(object):
# TODO(https://crbug.com/1098562): Remove once no longer used # TODO(https://crbug.com/1098562): Remove once no longer used
@property @property
def DEFAULT_WHITE_LIST(self): def DEFAULT_WHITE_LIST(self):
return self.DEFAULT_ALLOW_LIST return self.DEFAULT_FILES_TO_CHECK
# TODO(https://crbug.com/1098562): Remove once no longer used # TODO(https://crbug.com/1098562): Remove once no longer used
@DEFAULT_WHITE_LIST.setter @DEFAULT_WHITE_LIST.setter
def DEFAULT_WHITE_LIST(self, value): def DEFAULT_WHITE_LIST(self, value):
self.DEFAULT_ALLOW_LIST = value self.DEFAULT_FILES_TO_CHECK = value
# TODO(https://crbug.com/1098562): Remove once no longer used
@property
def DEFAULT_ALLOW_LIST(self):
return self.DEFAULT_FILES_TO_CHECK
# TODO(https://crbug.com/1098562): Remove once no longer used
@DEFAULT_ALLOW_LIST.setter
def DEFAULT_ALLOW_LIST(self, value):
self.DEFAULT_FILES_TO_CHECK = value
# TODO(https://crbug.com/1098562): Remove once no longer used # TODO(https://crbug.com/1098562): Remove once no longer used
@property @property
def DEFAULT_BLACK_LIST(self): def DEFAULT_BLACK_LIST(self):
return self.DEFAULT_BLOCK_LIST return self.DEFAULT_FILES_TO_SKIP
# TODO(https://crbug.com/1098562): Remove once no longer used # TODO(https://crbug.com/1098562): Remove once no longer used
@DEFAULT_BLACK_LIST.setter @DEFAULT_BLACK_LIST.setter
def DEFAULT_BLACK_LIST(self, value): def DEFAULT_BLACK_LIST(self, value):
self.DEFAULT_BLOCK_LIST = value self.DEFAULT_FILES_TO_SKIP = value
# TODO(https://crbug.com/1098562): Remove once no longer used
@property
def DEFAULT_BLOCK_LIST(self):
return self.DEFAULT_FILES_TO_SKIP
# TODO(https://crbug.com/1098562): Remove once no longer used
@DEFAULT_BLOCK_LIST.setter
def DEFAULT_BLOCK_LIST(self, value):
self.DEFAULT_FILES_TO_SKIP = value
def __init__(self, change, presubmit_path, is_committing, def __init__(self, change, presubmit_path, is_committing,
verbose, gerrit_obj, dry_run=None, thread_pool=None, parallel=False): verbose, gerrit_obj, dry_run=None, thread_pool=None, parallel=False):
...@@ -693,26 +713,33 @@ class InputApi(object): ...@@ -693,26 +713,33 @@ class InputApi(object):
"""An alias to AffectedTestableFiles for backwards compatibility.""" """An alias to AffectedTestableFiles for backwards compatibility."""
return self.AffectedTestableFiles(include_deletes=include_deletes) return self.AffectedTestableFiles(include_deletes=include_deletes)
def FilterSourceFile(self, affected_file, allow_list=None, block_list=None, def FilterSourceFile(self, affected_file, files_to_check=None,
files_to_skip=None, allow_list=None, block_list=None,
white_list=None, black_list=None): white_list=None, black_list=None):
"""Filters out files that aren't considered 'source file'. """Filters out files that aren't considered 'source file'.
If allow_list or block_list is None, InputApi.DEFAULT_ALLOW_LIST If files_to_check or files_to_skip is None, InputApi.DEFAULT_FILES_TO_CHECK
and InputApi.DEFAULT_BLOCK_LIST is used respectively. and InputApi.DEFAULT_FILES_TO_SKIP is used respectively.
The lists will be compiled as regular expression and The lists will be compiled as regular expression and
AffectedFile.LocalPath() needs to pass both list. AffectedFile.LocalPath() needs to pass both list.
Note: if allow_list or block_list is not set, and white_list or black_list Note: if files_to_check or files_to_skip is not set, and
is, then those values are used. This is used for backward compatibility white_list/allow_list or black_list/block_list is, then those values are
reasons. used. This is used for backward compatibility reasons.
Note: Copy-paste this function to suit your needs or use a lambda function. Note: Copy-paste this function to suit your needs or use a lambda function.
""" """
if allow_list is None: # TODO(https://crbug.com/1098560): Add warnings before removing bc.
allow_list = white_list if files_to_check is None:
if block_list is None: files_to_check = allow_list or white_list
block_list = black_list if files_to_skip is None:
files_to_skip = block_list or black_list
if files_to_check is None:
files_to_check = self.DEFAULT_FILES_TO_CHECK
if files_to_skip is None:
files_to_skip = self.DEFAULT_FILES_TO_SKIP
def Find(affected_file, items): def Find(affected_file, items):
local_path = affected_file.LocalPath() local_path = affected_file.LocalPath()
...@@ -720,8 +747,8 @@ class InputApi(object): ...@@ -720,8 +747,8 @@ class InputApi(object):
if self.re.match(item, local_path): if self.re.match(item, local_path):
return True return True
return False return False
return (Find(affected_file, allow_list or self.DEFAULT_ALLOW_LIST) and return (Find(affected_file, files_to_check) and
not Find(affected_file, block_list or self.DEFAULT_BLOCK_LIST)) not Find(affected_file, files_to_skip))
def AffectedSourceFiles(self, source_file): def AffectedSourceFiles(self, source_file):
"""Filter the list of AffectedTestableFiles by the function source_file. """Filter the list of AffectedTestableFiles by the function source_file.
......
...@@ -1389,26 +1389,44 @@ class InputApiUnittest(PresubmitTestsBase): ...@@ -1389,26 +1389,44 @@ class InputApiUnittest(PresubmitTestsBase):
def testDefaultOverrides(self): def testDefaultOverrides(self):
input_api = presubmit.InputApi( input_api = presubmit.InputApi(
self.fake_change, './PRESUBMIT.py', False, None, False) self.fake_change, './PRESUBMIT.py', False, None, False)
self.assertEqual(len(input_api.DEFAULT_ALLOW_LIST), 24) self.assertEqual(len(input_api.DEFAULT_FILES_TO_CHECK), 24)
self.assertEqual(len(input_api.DEFAULT_BLOCK_LIST), 12) self.assertEqual(len(input_api.DEFAULT_FILES_TO_SKIP), 12)
self.assertEqual(input_api.DEFAULT_ALLOW_LIST, input_api.DEFAULT_WHITE_LIST) self.assertEqual(
self.assertEqual(input_api.DEFAULT_BLOCK_LIST, input_api.DEFAULT_BLACK_LIST) input_api.DEFAULT_FILES_TO_CHECK, input_api.DEFAULT_WHITE_LIST)
self.assertEqual(
input_api.DEFAULT_ALLOW_LIST = (r'.+\.c$',) input_api.DEFAULT_FILES_TO_CHECK, input_api.DEFAULT_ALLOW_LIST)
input_api.DEFAULT_BLOCK_LIST = (r'.+\.patch$', r'.+\.diff') self.assertEqual(
self.assertEqual(len(input_api.DEFAULT_ALLOW_LIST), 1) input_api.DEFAULT_FILES_TO_SKIP, input_api.DEFAULT_BLACK_LIST)
self.assertEqual(len(input_api.DEFAULT_BLOCK_LIST), 2) self.assertEqual(
self.assertEqual(input_api.DEFAULT_ALLOW_LIST, input_api.DEFAULT_WHITE_LIST) input_api.DEFAULT_FILES_TO_SKIP, input_api.DEFAULT_BLOCK_LIST)
self.assertEqual(input_api.DEFAULT_BLOCK_LIST, input_api.DEFAULT_BLACK_LIST)
input_api.DEFAULT_FILES_TO_CHECK = (r'.+\.c$',)
input_api.DEFAULT_FILES_TO_SKIP = (r'.+\.patch$', r'.+\.diff')
self.assertEqual(len(input_api.DEFAULT_FILES_TO_CHECK), 1)
self.assertEqual(len(input_api.DEFAULT_FILES_TO_SKIP), 2)
self.assertEqual(
input_api.DEFAULT_FILES_TO_CHECK, input_api.DEFAULT_WHITE_LIST)
self.assertEqual(
input_api.DEFAULT_FILES_TO_CHECK, input_api.DEFAULT_ALLOW_LIST)
self.assertEqual(
input_api.DEFAULT_FILES_TO_SKIP, input_api.DEFAULT_BLACK_LIST)
self.assertEqual(
input_api.DEFAULT_FILES_TO_SKIP, input_api.DEFAULT_BLOCK_LIST)
# Test backward compatiblity of setting old property names # Test backward compatiblity of setting old property names
# TODO(https://crbug.com/1098562): Remove once no longer used # TODO(https://crbug.com/1098562): Remove once no longer used
input_api.DEFAULT_WHITE_LIST = () input_api.DEFAULT_WHITE_LIST = ()
input_api.DEFAULT_BLACK_LIST = () input_api.DEFAULT_BLACK_LIST = ()
self.assertEqual(len(input_api.DEFAULT_ALLOW_LIST), 0) self.assertEqual(len(input_api.DEFAULT_FILES_TO_CHECK), 0)
self.assertEqual(len(input_api.DEFAULT_BLOCK_LIST), 0) self.assertEqual(len(input_api.DEFAULT_FILES_TO_SKIP), 0)
self.assertEqual(input_api.DEFAULT_ALLOW_LIST, input_api.DEFAULT_WHITE_LIST) self.assertEqual(
self.assertEqual(input_api.DEFAULT_BLOCK_LIST, input_api.DEFAULT_BLACK_LIST) input_api.DEFAULT_FILES_TO_CHECK, input_api.DEFAULT_WHITE_LIST)
self.assertEqual(
input_api.DEFAULT_FILES_TO_CHECK, input_api.DEFAULT_ALLOW_LIST)
self.assertEqual(
input_api.DEFAULT_FILES_TO_SKIP, input_api.DEFAULT_BLACK_LIST)
self.assertEqual(
input_api.DEFAULT_FILES_TO_SKIP, input_api.DEFAULT_BLOCK_LIST)
def testCustomFilter(self): def testCustomFilter(self):
def FilterSourceFile(affected_file): def FilterSourceFile(affected_file):
...@@ -1431,8 +1449,8 @@ class InputApiUnittest(PresubmitTestsBase): ...@@ -1431,8 +1449,8 @@ class InputApiUnittest(PresubmitTestsBase):
self.assertEqual(got_files[1].LocalPath(), 'eeabee') self.assertEqual(got_files[1].LocalPath(), 'eeabee')
def testLambdaFilter(self): def testLambdaFilter(self):
allow_list = presubmit.InputApi.DEFAULT_BLOCK_LIST + (r".*?a.*?",) files_to_check = presubmit.InputApi.DEFAULT_FILES_TO_SKIP + (r".*?a.*?",)
block_list = [r".*?b.*?"] files_to_skip = [r".*?b.*?"]
files = [('A', 'eeaee'), ('M', 'eeabee'), ('M', 'eebcee'), ('M', 'eecaee')] files = [('A', 'eeaee'), ('M', 'eeabee'), ('M', 'eebcee'), ('M', 'eecaee')]
known_files = [ known_files = [
os.path.join(self.fake_root_dir, item) os.path.join(self.fake_root_dir, item)
...@@ -1445,7 +1463,7 @@ class InputApiUnittest(PresubmitTestsBase): ...@@ -1445,7 +1463,7 @@ class InputApiUnittest(PresubmitTestsBase):
change, './PRESUBMIT.py', False, None, False) change, './PRESUBMIT.py', False, None, False)
# Sample usage of overriding the default white and black lists. # Sample usage of overriding the default white and black lists.
got_files = input_api.AffectedSourceFiles( got_files = input_api.AffectedSourceFiles(
lambda x: input_api.FilterSourceFile(x, allow_list, block_list)) lambda x: input_api.FilterSourceFile(x, files_to_check, files_to_skip))
self.assertEqual(len(got_files), 2) self.assertEqual(len(got_files), 2)
self.assertEqual(got_files[0].LocalPath(), 'eeaee') self.assertEqual(got_files[0].LocalPath(), 'eeaee')
self.assertEqual(got_files[1].LocalPath(), 'eecaee') self.assertEqual(got_files[1].LocalPath(), 'eecaee')
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment