choose_strategy

Function choose_strategy 

Source
pub fn choose_strategy(workload: &Workload) -> ParallelStrategy
Expand description

Choose optimal parallel processing strategy

Decision algorithm:

  1. Sequential: total_tests < 20 OR num_categories <= 1
  2. CategoryLevel: total_tests < 100 OR num_cpus < 4
  3. TestLevel: total_tests >= 100 AND num_cpus >= 4

ยงExamples

use cli_testing_specialist::utils::parallel::{choose_strategy, Workload, ParallelStrategy};
use cli_testing_specialist::types::TestCategory;

let categories = vec![TestCategory::Basic, TestCategory::Security];
let workload = Workload::new(&categories, 10, 5);
let strategy = choose_strategy(&workload);

// Small workload -> Sequential or CategoryLevel
assert!(matches!(strategy, ParallelStrategy::Sequential | ParallelStrategy::CategoryLevel));