stm32-gdbtest
Scenarios kept in the project repository check the running firmware on a real STM32 board through GDB and an SWD debugger. There is no test code in the firmware.
How it works
The host runner starts GDB with a Python scenario; the Target API controls stops, reads data and registers and keeps the evidence. One scenario runs by hand, from CTest, in CI or in a loop on a stand.
ELF + profile
Python scenarios in the project
Host runner
on a PC or in CI
GDB-Python
scenario and Target API
GDB server
OpenOCD, ST-LINK, J-Link
STM32
application firmware over SWD
Report
JSON, JUnit, journal
Site sections
API 3 in short
An ordinary def runs operations in order. In async def, navigation (reach, step, until, finish, resume, reset) and call are awaited; resume(sync=False) lets the target go and await wait/halt wait with a timeout. Reads, writes, checks and journal records need no await. Expressions never call target functions.