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/+/2270717
Reviewed-by: Edward Lesmes <ehmaldonado@chromium.org>
Commit-Queue: Josip Sokcevic <sokcevic@google.com>
changes/17/2270717/2
local_bot 5 years ago committed by LUCI CQ
parent 0bfbd890c3
commit 37ce201d92

@ -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()

Loading…
Cancel
Save