1from __future__ import annotations 2 3from typing import TYPE_CHECKING 4 5from tools.testing.target_determination.heuristics.correlated_with_historical_failures import ( 6 CorrelatedWithHistoricalFailures, 7) 8from tools.testing.target_determination.heuristics.edited_by_pr import EditedByPR 9from tools.testing.target_determination.heuristics.filepath import Filepath 10from tools.testing.target_determination.heuristics.historical_class_failure_correlation import ( 11 HistoricalClassFailurCorrelation, 12) 13from tools.testing.target_determination.heuristics.historical_edited_files import ( 14 HistorialEditedFiles, 15) 16from tools.testing.target_determination.heuristics.interface import ( 17 AggregatedHeuristics as AggregatedHeuristics, 18 TestPrioritizations as TestPrioritizations, 19) 20from tools.testing.target_determination.heuristics.llm import LLM 21from tools.testing.target_determination.heuristics.mentioned_in_pr import MentionedInPR 22from tools.testing.target_determination.heuristics.previously_failed_in_pr import ( 23 PreviouslyFailedInPR, 24) 25from tools.testing.target_determination.heuristics.profiling import Profiling 26from tools.testing.target_determination.heuristics.public_bindings import PublicBindings 27 28 29if TYPE_CHECKING: 30 from tools.testing.target_determination.heuristics.interface import ( 31 HeuristicInterface as HeuristicInterface, 32 ) 33 34 35# All currently running heuristics. 36# To add a heurstic in trial mode, specify the keywork argument `trial_mode=True`. 37HEURISTICS: list[HeuristicInterface] = [ 38 PreviouslyFailedInPR(), 39 EditedByPR(), 40 MentionedInPR(), 41 HistoricalClassFailurCorrelation(trial_mode=True), 42 CorrelatedWithHistoricalFailures(), 43 HistorialEditedFiles(), 44 Profiling(), 45 LLM(), 46 Filepath(), 47 PublicBindings(), 48] 49