test: dm: Add tests for LED boot and activity

Add tests for LED boot and activity feature and add required property in
sandbox test DTS.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
This commit is contained in:
Christian Marangi 2024-10-01 14:24:43 +02:00 committed by Tom Rini
parent 051c448c8b
commit 9046279d92
2 changed files with 74 additions and 0 deletions

View file

@ -101,6 +101,8 @@
bootscr-ram-offset = /bits/ 64 <0x12345678>;
bootscr-flash-offset = /bits/ 64 <0>;
bootscr-flash-size = /bits/ 64 <0x2000>;
boot-led = "sandbox:green";
activity-led = "sandbox:red";
};
};

View file

@ -137,3 +137,75 @@ static int dm_test_led_blink(struct unit_test_state *uts)
}
DM_TEST(dm_test_led_blink, UTF_SCAN_PDATA | UTF_SCAN_FDT);
#endif
/* Test LED boot */
#ifdef CONFIG_LED_BOOT
static int dm_test_led_boot(struct unit_test_state *uts)
{
struct udevice *dev
/* options/u-boot/boot-led is set to "sandbox:green" */
ut_assertok(led_get_by_label("sandbox:green", &dev));
ut_asserteq(LEDST_OFF, led_get_state(dev));
ut_assertok(led_boot_on());
ut_asserteq(LEDST_ON, led_get_state(dev));
ut_assertok(led_boot_off());
ut_asserteq(LEDST_OFF, led_get_state(dev));
return 0;
}
/* Test LED boot blink fallback */
#ifndef CONFIG_LED_BLINK
static int dm_test_led_boot(struct unit_test_state *uts)
{
struct udevice *dev
/* options/u-boot/boot-led is set to "sandbox:green" */
ut_assertok(led_get_by_label("sandbox:green", &dev));
ut_asserteq(LEDST_OFF, led_get_state(dev));
ut_assertok(led_boot_blink());
ut_asserteq(LEDST_ON, led_get_state(dev));
ut_assertok(led_boot_off());
ut_asserteq(LEDST_OFF, led_get_state(dev));
return 0;
}
#endif
#endif
/* Test LED activity */
#ifdef CONFIG_LED_ACTIVITY
static int dm_test_led_boot(struct unit_test_state *uts)
{
struct udevice *dev
/* options/u-boot/activity-led is set to "sandbox:red" */
ut_assertok(led_get_by_label("sandbox:red", &dev));
ut_asserteq(LEDST_OFF, led_get_state(dev));
ut_assertok(led_activity_on());
ut_asserteq(LEDST_ON, led_get_state(dev));
ut_assertok(led_activity_off());
ut_asserteq(LEDST_OFF, led_get_state(dev));
return 0;
}
/* Test LED activity blink fallback */
#ifndef CONFIG_LED_BLINK
static int dm_test_led_boot(struct unit_test_state *uts)
{
struct udevice *dev
/* options/u-boot/activity-led is set to "sandbox:red" */
ut_assertok(led_get_by_label("sandbox:red", &dev));
ut_asserteq(LEDST_OFF, led_get_state(dev));
ut_assertok(led_activity_blink());
ut_asserteq(LEDST_ON, led_get_state(dev));
ut_assertok(led_activity_off());
ut_asserteq(LEDST_OFF, led_get_state(dev));
return 0;
}
#endif
#endif