mirror of
https://github.com/openglow-org/forgefirm.git
synced 2026-09-27 16:51:12 -07:00
forgetest: cloud.service-protocol, the service answered by the emulator in this machine's identity
The service-protocol half of the cloud catalog on its own test: the cloud client restarted as gfutilities' emulator under the /run/gfcloud-emulate marker signs in, passes the firmware check, opens the WebSocket, answers the connect-time hunt and the image requests with the dev image's canned frames, and runs a print from the app through the real download path to ':completed' - nothing moves, nothing arms, and only the app has to be driven, by a person or an agent through the prompt API. The real client is restarted afterward and its hunt waited out. session_live now knows the emulator's session is not the machine's, so enter_cloud restarts it rather than reusing it; restart_client is the one restart the offline and emulator entries share. The dev image adds python3-gfutilities-emulator (the fixtures, packaged on their own in meta-openglow); forgefirm-app moves to 12ad3b1 (gfcloud --emulate). Catalog: 44 tests, 27 auto / 9 operator / 8 live; the new test covers the gfutilities service layer and examples/, which step 4 will take off the other cloud tests. Replays over the prompt script; contract and BRINGUP updated. A layer change (the dev image recipe): everything re-requires on the next image.
This commit is contained in:
+10
-3
@@ -150,9 +150,16 @@ bench, or one whose `/data` has been wiped, starts from a full campaign.
|
||||
hunt run with the lid open, and the web-service homing (`$H` with
|
||||
`homing_mode = gfcloud`) after the switch back.
|
||||
The cloud tests split by what they prove. The service protocol (sign-in,
|
||||
the WebSocket, the hunt, the print from the app, progress, the job's
|
||||
limits reaching the engine) is `cloud.mode-switch` and one real print,
|
||||
`cloud.pause-resume`. The machine's print behavior (the lid and
|
||||
the firmware check, the WebSocket, the hunt, the image uploads, a
|
||||
print's download and lifecycle as the app sees them) is
|
||||
`cloud.service-protocol`: the cloud client restarted as gfutilities'
|
||||
emulator in this machine's identity under the `/run/gfcloud-emulate`
|
||||
marker, answering the real service with the dev image's canned frames
|
||||
and running the print from the app without hardware, so only the app
|
||||
has to be driven (by a person or an agent, anywhere). The service and
|
||||
the machine together are `cloud.mode-switch` and one real print,
|
||||
`cloud.pause-resume` (progress, the button wait, the job's limits
|
||||
reaching the engine). The machine's print behavior (the lid and
|
||||
interlock aborts, the button-wait cancel, a paused print ended by the
|
||||
lid, a print longer than the ring with the app's cancel) runs under the
|
||||
**offline service** (`enter_offline`: the cloud client restarted with
|
||||
|
||||
Reference in New Issue
Block a user