Quickstart

This guide shows how to run your first BenchCI test.

BenchCI workflows consist of three parts:

  1. board configuration

  2. test suite definition

  3. test execution


Step 1 — Create board configuration

Create board.yaml

Example:

name: nucleo_f4

flash:
  backend: openocd
  interface_cfg: interface/stlink.cfg
  target_cfg: target/stm32f4x.cfg

reset:
  method: openocd

transport:
  backend: uart
  port: /dev/ttyUSB0
  baud: 115200
  timeout_ms: 100

Step 2 — Create test suite

Create suite.yaml

name: firmware_tests

tests:

  - name: boot_ok
    steps:
      - expect_uart:
          contains: "[BOOT] OK"
          within_ms: 3000

  - name: ping
    steps:
      - send_uart: "PING\n"
      - expect_uart:
          contains: "PONG"
          within_ms: 1000

Step 3 — Run BenchCI

benchci run \
  -b board.yaml \
  -s suite.yaml \
  -a build/fw.elf

BenchCI will:

  • flash firmware

  • run tests

  • collect logs

Artifacts are stored in:

benchci-results/

Files include:

transport.log  
flash.log  
results.json