mirror of
https://github.com/rstrouse/ESPSomfy-RTS.git
synced 2026-10-31 13:52:15 +01:00
fix: review fixes for the OTA slot
- The field is hasOtaSlot, like hasEthernet and the other "has" bools. - The web UI shows the device's reason for any failed upload, not only for /restore, so it shows "no OTA slot" from a page that missed the header. The update routes' 500 replies give Update.errorString() instead of an empty reason. - Native: the writer leaves hasOtaSlot out when true and writes "os":0. - e2e: header() next to uptime(); the test skips on firmware without the field instead of failing, and matches the reason loosely. The README says what the test sends. - PROTOCOL.md and the comments name only the builds that exist. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
parent
5721d34a34
commit
657b345eaf
13 changed files with 41 additions and 38 deletions
|
|
@ -86,9 +86,8 @@ def test_a_save_tells_the_other_clients(connect, schema):
|
|||
def test_a_wifi_scan_lists_the_networks(connect, schema):
|
||||
c = connect(schema=schema.hash)
|
||||
_, frames, _ = run_sync(c)
|
||||
header = next(schema.expand(f["d"][schema.keys["header"]]) for f in frames if schema.keys["header"] in f["d"])
|
||||
# The connection in use: Ethernet with WiFi as the fallback may be on either.
|
||||
if header.get("connType") != "Wifi":
|
||||
if header(schema, frames).get("connType") != "Wifi":
|
||||
pytest.skip("the device isn't on WiFi")
|
||||
assert is_ok(schema, op(c, schema, "scanWifi", {}))
|
||||
found = c.recv_until(lambda f: f["t"] == schema.type_numbers["wifiNetworks"], timeout=20)[-1]
|
||||
|
|
@ -152,6 +151,12 @@ def wait_for_restart(host, token, schema, uptime_before):
|
|||
time.sleep(2)
|
||||
|
||||
|
||||
def header(schema, frames):
|
||||
"""The header a sync starts with."""
|
||||
key = schema.keys["header"]
|
||||
return next(schema.expand(f["d"][key]) for f in frames if key in f["d"])
|
||||
|
||||
|
||||
def uptime(schema, frames):
|
||||
"""The uptime, in ms, from the status a sync ends with."""
|
||||
key = schema.keys["status"]
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue