mirror of
https://github.com/openglow-org/forgefirm.git
synced 2026-09-28 09:11:11 -07:00
forgetest: presence is proved once per test, not once per ready gate
The ready gate lives inside the arm-and-fire helper, and the kill drill calls that helper twice, once for the expected stop and once for the SIGKILL. So the presence gate asked the operator for a second press part way through a test they had already proved themselves present for, with the actuator standing by holding the presses. It is the only test in the catalog with two ready gates. The second gate now returns at once. Its setup line still goes up, because the second half may want the scrap moved, but there is no press to make.
This commit is contained in:
@@ -293,6 +293,17 @@ class Context:
|
||||
self.log("READY (fixture performs the step): %s", text)
|
||||
return
|
||||
|
||||
# Presence is proved once per test, not once per gate. A test with
|
||||
# two armed halves (the kill drill stops the controller and does it
|
||||
# again) reaches this twice, and asking a second time is friction
|
||||
# with nothing behind it: the operator proved presence a moment ago
|
||||
# and the actuator is already making the presses. The setup line
|
||||
# still goes up, because the second half may want the scrap moved.
|
||||
if self.run.fixture_takeover:
|
||||
self.notice(text)
|
||||
self.log("READY: presence already proved this test; the bench has the presses")
|
||||
return
|
||||
|
||||
fixture = getattr(self.runner, "fixture", None) if self.runner is not None else None
|
||||
if fixture is not None and fixture.covers("button"):
|
||||
self.notice(text + " Then press the button on the machine to start.")
|
||||
|
||||
Reference in New Issue
Block a user