lift_indicator_suite/tests/host/led/README.md

1.9 KiB
Raw Permalink Blame History

test_bsp_led

Модуль под тестом

bsp/led/src/led.c (bsp/led/include/bsp/led.h)

Категория

B — BSP-модуль, зависит от fsl_gpio.h. Unity + fff.

Моки

  • GPIO_PinInit — фейк, конфигурация захватывается через custom_fake (GPIO_PinInit_capture) и копируется по значению, т.к. gpio_pin_config_t живёт на стеке bsp_led_init() и становится dangling после возврата.
  • GPIO_PinWrite — фейк, проверяется последний переданный уровень (arg2_val).

Что проверяется

  • ИнициализацияGPIO_PinInit вызывается для каждого LED, пины настраиваются как output, начальный уровень HIGH (LED выключен), оба LED выключены сразу после bsp_led_init().
  • on / offbsp_led_on()/bsp_led_off() меняют логическое состояние и пишут в GPIO инвертированный уровень.
  • toggle — переключение из off→on, on→off, двойной toggle возвращает исходное состояние.
  • setbsp_led_set(led, bool) включает/выключает по явному флагу.
  • Независимость — состояние LED_HEARTBEAT и LED_APP не пересекается.

Гарантии

  • Полярность active-LOW: on → GPIO=0, off → GPIO=1.
  • После инициализации оба LED гарантированно выключены.
  • toggle, применённый чётное число раз, возвращает исходное состояние.
  • LED-каналы независимы друг от друга.

Запуск

ctest --preset host-debug-test -R test_bsp_led -V