Merge pull request #9166 from gilles-peskine-arm/analyze_outcomes-generate_files-3.6

Backport 3.6: Generate test data before coverage analysis
This commit is contained in:
Gilles Peskine 2024-05-23 12:08:12 +00:00 committed by GitHub
commit 2c3aa942aa
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -85,6 +85,17 @@ def execute_reference_driver_tests(results: Results, ref_component: str, driver_
def analyze_coverage(results: Results, outcomes: Outcomes,
allow_list: typing.List[str], full_coverage: bool) -> None:
"""Check that all available test cases are executed at least once."""
# Make sure that the generated data files are present (and up-to-date).
# This allows analyze_outcomes.py to run correctly on a fresh Git
# checkout.
cp = subprocess.run(['make', 'generated_files'],
cwd='tests',
stdout=subprocess.PIPE, stderr=subprocess.STDOUT,
check=False)
if cp.returncode != 0:
sys.stderr.write(cp.stdout.decode('utf-8'))
results.error("Failed \"make generated_files\" in tests. "
"Coverage analysis may be incorrect.")
available = check_test_cases.collect_available_test_cases()
for suite_case in available:
hit = any(suite_case in comp_outcomes.successes or