From 015ff7dcdf34e4426fe1eaf81b9c6bcc446bce42 Mon Sep 17 00:00:00 2001 From: Thomas Sedlmayer Date: Tue, 30 Sep 2025 17:04:28 +0200 Subject: [PATCH] Allow list for refers_to rule Signed-off-by: Thomas Sedlmayer --- qc_ositrace/checks/osirules/osirules_checker.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/qc_ositrace/checks/osirules/osirules_checker.py b/qc_ositrace/checks/osirules/osirules_checker.py index 3450eda..8b9a5f5 100644 --- a/qc_ositrace/checks/osirules/osirules_checker.py +++ b/qc_ositrace/checks/osirules/osirules_checker.py @@ -405,9 +405,9 @@ def check_message_against_rules( description=f"Field '{field.name}' value {value.value} in message '{message.DESCRIPTOR.full_name}' does not refer to any existing message.", ) else: - # Check if referred message matches the expected type - expected_type = f"""osi3.{rule['refers_to'].strip("'")}""" - if referred_message.DESCRIPTOR.full_name != expected_type: + # Check if referred message matches one of the expected types + expected_types = ["osi3." + t for t in rule['refers_to']] if isinstance(rule['refers_to'], list) else ["osi3." + rule['refers_to']] + if referred_message.DESCRIPTOR.full_name not in expected_types: register_issue( result, message, @@ -415,7 +415,7 @@ def check_message_against_rules( time, rule_uid, IssueSeverity.ERROR, - description=f"Field '{field.name}' value {value.value} in message '{message.DESCRIPTOR.full_name}' refers to message '{referred_message.DESCRIPTOR.full_name}', which does not match the expected type '{expected_type}'.", + description=f"Field '{field.name}' value {value.value} in message '{message.DESCRIPTOR.full_name}' refers to message '{referred_message.DESCRIPTOR.full_name}', which does not match one of the expected types '{expected_types}'.", ) # Recursively check nested messages