Commit 37ce201d authored by local_bot's avatar local_bot Committed by LUCI CQ

Add setters to legacy input_api.DEFAULT_*

Some PRESUBMIT.py scripts set DEFAULT_WHITE_LIST and DEFAULT_BLACK_LIST.
This patch adds support to override those defaults during transition
period.

R=apolito@google.com, ehmaldonado@chromium.org

Bug: 1098562
Change-Id: I5dfff253e61485d354a83f3f509d8a6d4d87dec6
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/2270717Reviewed-by: 's avatarEdward Lesmes <ehmaldonado@chromium.org>
Commit-Queue: Josip Sokcevic <sokcevic@google.com>
parent 0bfbd890
......@@ -532,11 +532,21 @@ class InputApi(object):
def DEFAULT_WHITE_LIST(self):
return self.DEFAULT_ALLOW_LIST
# TODO(https://crbug.com/1098562): Remove once no longer used
@DEFAULT_WHITE_LIST.setter
def DEFAULT_WHITE_LIST(self, value):
self.DEFAULT_ALLOW_LIST = value
# TODO(https://crbug.com/1098562): Remove once no longer used
@property
def DEFAULT_BLACK_LIST(self):
return self.DEFAULT_BLOCK_LIST
# TODO(https://crbug.com/1098562): Remove once no longer used
@DEFAULT_BLACK_LIST.setter
def DEFAULT_BLACK_LIST(self, value):
self.DEFAULT_BLOCK_LIST = value
def __init__(self, change, presubmit_path, is_committing,
verbose, gerrit_obj, dry_run=None, thread_pool=None, parallel=False):
"""Builds an InputApi object.
......
......@@ -1376,10 +1376,6 @@ class InputApiUnittest(PresubmitTestsBase):
input_api = presubmit.InputApi(
self.fake_change, './PRESUBMIT.py', False, None, False)
self.assertEqual(len(input_api.DEFAULT_ALLOW_LIST), 24)
self.assertEqual(len(input_api.DEFAULT_BLOCK_LIST), 12)
self.assertEqual(input_api.DEFAULT_ALLOW_LIST, input_api.DEFAULT_WHITE_LIST)
self.assertEqual(input_api.DEFAULT_BLOCK_LIST, input_api.DEFAULT_BLACK_LIST)
for item in files:
results = list(filter(input_api.FilterSourceFile, item[0]))
for i in range(len(results)):
......@@ -1390,6 +1386,30 @@ class InputApiUnittest(PresubmitTestsBase):
for f in results]),
sorted(item[1]))
def testDefaultOverrides(self):
input_api = presubmit.InputApi(
self.fake_change, './PRESUBMIT.py', False, None, False)
self.assertEqual(len(input_api.DEFAULT_ALLOW_LIST), 24)
self.assertEqual(len(input_api.DEFAULT_BLOCK_LIST), 12)
self.assertEqual(input_api.DEFAULT_ALLOW_LIST, input_api.DEFAULT_WHITE_LIST)
self.assertEqual(input_api.DEFAULT_BLOCK_LIST, input_api.DEFAULT_BLACK_LIST)
input_api.DEFAULT_ALLOW_LIST = (r'.+\.c$',)
input_api.DEFAULT_BLOCK_LIST = (r'.+\.patch$', r'.+\.diff')
self.assertEqual(len(input_api.DEFAULT_ALLOW_LIST), 1)
self.assertEqual(len(input_api.DEFAULT_BLOCK_LIST), 2)
self.assertEqual(input_api.DEFAULT_ALLOW_LIST, input_api.DEFAULT_WHITE_LIST)
self.assertEqual(input_api.DEFAULT_BLOCK_LIST, input_api.DEFAULT_BLACK_LIST)
# Test backward compatiblity of setting old property names
# TODO(https://crbug.com/1098562): Remove once no longer used
input_api.DEFAULT_WHITE_LIST = ()
input_api.DEFAULT_BLACK_LIST = ()
self.assertEqual(len(input_api.DEFAULT_ALLOW_LIST), 0)
self.assertEqual(len(input_api.DEFAULT_BLOCK_LIST), 0)
self.assertEqual(input_api.DEFAULT_ALLOW_LIST, input_api.DEFAULT_WHITE_LIST)
self.assertEqual(input_api.DEFAULT_BLOCK_LIST, input_api.DEFAULT_BLACK_LIST)
def testCustomFilter(self):
def FilterSourceFile(affected_file):
return 'a' in affected_file.LocalPath()
......
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