Follow-up to #106 (PR comment).
mcu-tools/mcuboot#2755 — "boot: boot_serial: add raw (non-console) SMP recovery protocol" (merged) — lets MCUboot serial recovery speak the raw SMP framing. We should extend the recovery integration suite to cover it with SMPSerialRawTransport, the raw analog of the existing base64 tests/integration/test_serial_recovery.py.
Blocked on
A vendored raw-mode MCUboot serial-recovery fixture from the build farm: intercreate/smp-server-fixtures#8. The current serial_recovery fixtures are base64 (transport: serial); this needs a serial_recovery_raw build (transport: serial_raw, mcuboot: true, serial_recovery: true).
Harness work (smpclient side)
test_serial_recovery.py reboots an app into recovery (os reset boot_mode=BOOTLOADER) and uploads via the socket-backed QemuSocketSerialTransport (encoded) against the emulated mps2 bootloader. The raw transport is currently wired only for native_sim PTY endpoints (conftest._build_transport). So depending on the fixture's target:
native_sim raw recovery fixture → works with the existing PTY wiring, or
mps2_an385 (emulated) raw recovery fixture → also needs a socket-backed raw transport (a raw counterpart to QemuSocketSerialTransport).
The test itself mirrors the existing one: reset into the bootloader, reconnect with SMPSerialRawTransport, upload an image, and assert the bootloader reassembles it.
Refs: mcu-tools/mcuboot#2755, #106
Follow-up to #106 (PR comment).
mcu-tools/mcuboot#2755 — "boot: boot_serial: add raw (non-console) SMP recovery protocol" (merged) — lets MCUboot serial recovery speak the raw SMP framing. We should extend the recovery integration suite to cover it with
SMPSerialRawTransport, the raw analog of the existing base64tests/integration/test_serial_recovery.py.Blocked on
A vendored raw-mode MCUboot serial-recovery fixture from the build farm: intercreate/smp-server-fixtures#8. The current
serial_recoveryfixtures are base64 (transport: serial); this needs aserial_recovery_rawbuild (transport: serial_raw,mcuboot: true,serial_recovery: true).Harness work (smpclient side)
test_serial_recovery.pyreboots an app into recovery (os reset boot_mode=BOOTLOADER) and uploads via the socket-backedQemuSocketSerialTransport(encoded) against the emulated mps2 bootloader. The raw transport is currently wired only fornative_simPTY endpoints (conftest._build_transport). So depending on the fixture's target:native_simraw recovery fixture → works with the existing PTY wiring, ormps2_an385(emulated) raw recovery fixture → also needs a socket-backed raw transport (a raw counterpart toQemuSocketSerialTransport).The test itself mirrors the existing one: reset into the bootloader, reconnect with
SMPSerialRawTransport, upload an image, and assert the bootloader reassembles it.Refs: mcu-tools/mcuboot#2755, #106