1.9 KiB
1.9 KiB
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 / off —
bsp_led_on()/bsp_led_off()меняют логическое состояние и пишут в GPIO инвертированный уровень. - toggle — переключение из off→on, on→off, двойной toggle возвращает исходное состояние.
- set —
bsp_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