| from __future__ import annotations |
| |
| import sys |
| from typing import Any |
| |
| from tools.testing.target_determination.heuristics import ( |
| AggregatedHeuristics as AggregatedHeuristics, |
| HEURISTICS, |
| TestPrioritizations as TestPrioritizations, |
| ) |
| |
| |
| def get_test_prioritizations( |
| tests: list[str], file: Any = sys.stdout |
| ) -> AggregatedHeuristics: |
| aggregated_results = AggregatedHeuristics(tests) |
| print(f"Received {len(tests)} tests to prioritize", file=file) |
| for test in tests: |
| print(f" {test}", file=file) |
| |
| for heuristic in HEURISTICS: |
| new_rankings: TestPrioritizations = heuristic.get_prediction_confidence(tests) |
| aggregated_results.add_heuristic_results(heuristic, new_rankings) |
| |
| print(f"Results from {heuristic.__class__.__name__}") |
| print(new_rankings.get_info_str(verbose=False), file=file) |
| |
| return aggregated_results |