Merge changes from topic "sysprop" am: dd3af422a2

Original change: https://android-review.googlesource.com/c/platform/build/+/1353428

Change-Id: Iafa71c359c50c312fd79d345e3fae4d7812f7580
This commit is contained in:
Jiyong Park
2020-07-01 01:59:30 +00:00
committed by Automerger Merge Worker
2 changed files with 8 additions and 0 deletions

View File

@@ -88,6 +88,8 @@ def override_optional_props(prop_list, allow_dup=False):
if len(overriding_props) > 1:
# duplicated props are allowed when the all have the same value
if all(overriding_props[0].value == p.value for p in overriding_props):
for p in optional_props:
p.delete("overridden by %s" % str(overriding_props[0]))
continue
# or if dup is explicitly allowed for compat reason
if allow_dup:

View File

@@ -221,11 +221,17 @@ class PropListTestcase(unittest.TestCase):
stderr_redirect = io.StringIO()
with contextlib.redirect_stderr(stderr_redirect):
props = PropList("hello")
optional_prop = props.get_props("foo")[2] # the last foo?=false one
# we have duplicated foo=true and foo=true, but that's allowed
# since they have the same value
self.assertTrue(override_optional_props(props))
# foo?=false should be commented out
self.assertEqual("# Removed by post_process_props.py because " +
"overridden by foo=true\n#foo?=false",
str(optional_prop))
def test_allowDuplicates(self):
content = """
# comment