Skip to content

Commit 26c06c9

Browse files
psa_test_cases: automatically skip test cases
Automatically skip test cases with not-implemented automatic dependencies. No changes to the generated output. Signed-off-by: Gilles Peskine <Gilles.Peskine@arm.com>
1 parent 8f46e43 commit 26c06c9

File tree

1 file changed

+10
-5
lines changed

1 file changed

+10
-5
lines changed

scripts/mbedtls_framework/psa_test_case.py

+10-5
Original file line numberDiff line numberDiff line change
@@ -113,12 +113,18 @@ def infer_dependencies(self, arguments: List[str]) -> List[str]:
113113
def set_arguments(self, arguments: List[str]) -> None:
114114
"""Set test case arguments and automatically infer dependencies."""
115115
super().set_arguments(arguments)
116-
self.automatic_dependencies.update(self.infer_dependencies(arguments))
116+
dependencies = self.infer_dependencies(arguments)
117+
self.skip_if_any_not_implemented(dependencies)
118+
self.automatic_dependencies.update(dependencies)
117119

118120
def set_dependencies(self, dependencies: List[str]) -> None:
119-
"""Override any previously added automatic or manual dependencies."""
121+
"""Override any previously added automatic or manual dependencies.
122+
123+
Also override any previous instruction to skip the test case.
124+
"""
120125
self.manual_dependencies = dependencies
121126
self.automatic_dependencies.clear()
127+
self.skip_reasons = []
122128

123129
def add_dependencies(self, dependencies: List[str]) -> None:
124130
"""Add manual dependencies."""
@@ -135,6 +141,5 @@ def get_dependencies(self) -> List[str]:
135141
def skip_if_any_not_implemented(self, dependencies: List[str]) -> None:
136142
"""Skip the test case if any of the given dependencies is not implemented."""
137143
not_implemented = find_dependencies_not_implemented(dependencies)
138-
if not_implemented:
139-
self.skip_because('not implemented: ' +
140-
' '.join(not_implemented))
144+
for dep in not_implemented:
145+
self.skip_because('not implemented: ' + dep)

0 commit comments

Comments
 (0)