29def _smoke(cfg, monkeypatch, error: Exception):
33 validating = {
"on":
False}
35 def progress(stage: str, _fraction: float, _message: str) ->
None:
36 if stage ==
"Layer 1: Validation":
37 validating[
"on"] =
True
39 real = PintleEngineRunner.evaluate
41 def evaluate(self, *a, **k):
44 return real(self, *a, **k)
46 monkeypatch.setattr(PintleEngineRunner,
"evaluate", evaluate)
47 monkeypatch.setattr(L1,
"_get_num_workers",
lambda c: 1)
48 base = copy.deepcopy(cfg)
49 req = base.design_requirements.model_dump()
50 req[
"layer1_random_seed"] = 0
52 "mode":
"optimizer_controlled",
53 "max_lox_pressure_psi": float(req[
"max_lox_tank_pressure_psi"]),
54 "max_fuel_pressure_psi": float(req[
"max_fuel_tank_pressure_psi"]),
56 _, results = L1.run_layer1_optimization(
58 PintleEngineRunner(copy.deepcopy(base)),
60 target_burn_time=float(req.get(
"target_burn_time", 6.0)),
61 tolerances={
"thrust": 0.10,
"apogee": 0.15},
63 update_progress=progress,
65 layer1_max_iterations=1,
66 layer1_cma_restarts=1,
68 assert validating[
"on"],
"the run never reached validation"
69 return results[
"performance"]