16 result.driver = config.driver_name;
17 result.lane_count =
static_cast<int>(config.lane_sizes.size());
18 result.lane_sizes = config.lane_sizes;
19 result.pattern = config.pattern;
26 if (config.driver_name.empty()) {
28 result.error_message =
"Driver name cannot be empty";
33 if (config.lane_sizes.empty()) {
35 result.error_message =
"Lane count must be at least 1";
39 if (config.lane_sizes.size() > 16) {
41 result.error_message =
"Lane count cannot exceed 16";
46 for (
size_t i = 0; i < config.lane_sizes.size(); i++) {
47 if (config.lane_sizes[i] <= 0) {
50 ss <<
"Lane size at index " << i <<
" must be positive (got " << config.lane_sizes[i] <<
")";
57 if (config.iterations <= 0) {
59 result.error_message =
"Iterations must be positive";
64 if (config.pattern.empty()) {
66 result.error_message =
"Pattern name cannot be empty";
80 result.total_tests = 4 * config.iterations;