fixed day time testing

This commit is contained in:
2026-07-23 15:39:14 -04:00
parent f2d2a6c2e7
commit e76c76a4df
6 changed files with 211 additions and 55 deletions
+10
View File
@@ -106,6 +106,8 @@ class CompileScheduleRequest(BaseModel):
start_date: str | None = Field(default=None, description="YYYY-MM-DD")
rule: str = ""
daytime_testing_today: bool = False
daytime_testing_hours: int = Field(default=8, ge=0, le=8)
daytime_testing_device: str = ""
dual_device_weekend_start_enabled: bool = False
dual_device_weekend_start_dates: list[str] = Field(default_factory=list)
top_priority_tests_dut: list[str] = Field(default_factory=list)
@@ -387,6 +389,12 @@ def compile_schedule_endpoint(request: CompileScheduleRequest) -> dict[str, Any]
except ValueError as exc:
raise HTTPException(status_code=400, detail="start_date must be YYYY-MM-DD") from exc
requested_daytime_device = str(request.daytime_testing_device or "").strip()
if not requested_daytime_device:
requested_daytime_device = DUT
if requested_daytime_device not in {DUT, REF}:
raise HTTPException(status_code=400, detail=f"daytime_testing_device must be {DUT} or {REF}")
all_tests = db.get_not_excluded_tests(DB_PATH, rule=request.rule)
stored_tests = db.list_schedulable_tests(DB_PATH, rule=request.rule)
if not stored_tests:
@@ -444,6 +452,8 @@ def compile_schedule_endpoint(request: CompileScheduleRequest) -> dict[str, Any]
start_date=request.start_date,
holiday_dates=holiday_dates,
daytime_testing_today=request.daytime_testing_today,
daytime_testing_hours=request.daytime_testing_hours,
daytime_testing_device=requested_daytime_device,
dual_device_weekend_start_enabled=request.dual_device_weekend_start_enabled,
dual_device_window_start_dates=set(item.strip() for item in request.dual_device_weekend_start_dates if item.strip()),
)