Fix apex_sepolicy_tests_test

check_rule() should collect errors and return them. The previous fix was
early returing when there's a successful case.

Bug: 285225556
Test: atest apex_sepolicy_tests_test
Change-Id: I71c207210c565ab280f8794d201c074812b49acb
This commit is contained in:
Jooyung Han 2023-06-05 10:47:20 +09:00
parent abbd8aeefd
commit 3e592f2eb6

View file

@ -81,6 +81,7 @@ def match_path(path: str, matcher: Matcher) -> bool:
def check_rule(pol, path: str, tcontext: str, rule: Rule) -> List[str]: def check_rule(pol, path: str, tcontext: str, rule: Rule) -> List[str]:
"""Returns error message if scontext can't read the target""" """Returns error message if scontext can't read the target"""
errors = []
match rule: match rule:
case AllowRead(tclass, scontext): case AllowRead(tclass, scontext):
# Test every source in scontext(set) # Test every source in scontext(set)
@ -90,9 +91,10 @@ def check_rule(pol, path: str, tcontext: str, rule: Rule) -> List[str]:
tclass={tclass}, tclass={tclass},
perms={'read'})) perms={'read'}))
if len(te_rules) > 0: if len(te_rules) > 0:
return [] # no errors continue # no errors
return [f"Error: {path}: {s} can't read. (tcontext={tcontext})"] errors.append(f"Error: {path}: {s} can't read. (tcontext={tcontext})")
return errors
rules = [ rules = [