device-led: Add test code to haltest module
authorYunhee Seo <yuni.seo@samsung.com>
Thu, 13 Feb 2025 06:14:34 +0000 (15:14 +0900)
committerChanwoo Choi <cw00.choi@samsung.com>
Tue, 4 Mar 2025 10:00:21 +0000 (19:00 +0900)
There was no device-led module test code.
To check HAL IPC and passthrough function call method,
test code is added before apply hal IPC module.

Change-Id: I0584d24c83ff41f6e754c2f7f7b063653be69dd6
Signed-off-by: Yunhee Seo <yuni.seo@samsung.com>
haltest/led.cpp [new file with mode: 0644]

diff --git a/haltest/led.cpp b/haltest/led.cpp
new file mode 100644 (file)
index 0000000..9d23d33
--- /dev/null
@@ -0,0 +1,148 @@
+#include <system_info.h>
+
+#include "haltest.h"
+#include "hal-device-led.h"
+
+class LED : public testing::Test {
+       protected:
+               void SetUp() override {
+                       int ret_val = 0;
+
+                       ret_val = system_info_get_platform_bool(FEATURE_LED, &led_supported);
+                       ASSERT_EQ(ret_val, SYSTEM_INFO_ERROR_NONE) << "Failed to get led feature";
+               }
+
+               void TearDown() override {}
+
+               bool led_supported;
+};
+
+TEST_F(LED, GetBackendP)
+{
+       int ret_val = 0;
+
+       if (!led_supported) {
+               SKIP_MESSAGE("Led not supported");
+               return;
+       }
+
+       ret_val = hal_device_led_get_backend();
+       if (ret_val == -ENOTSUP) {
+               SKIP_MESSAGE("Not supported HAL");
+               return;
+       }
+       EXPECT_EQ(ret_val, 0);
+}
+
+TEST_F(LED, SetStateP)
+{
+       int ret_val = 0;
+       hal_device_led_state_s state_off = {HAL_DEVICE_LED_TYPE_MANUAL, 0, 0, 0};
+
+       if (!led_supported) {
+               SKIP_MESSAGE("Led not supported");
+               return;
+       }
+
+       ret_val = hal_device_led_set_state(HAL_DEVICE_LED_NOTIFICATION, &state_off);
+       if (ret_val == -ENOTSUP) {
+               SKIP_MESSAGE("Not supported HAL");
+               return;
+       }
+}
+
+TEST_F(LED, GetNumberP)
+{
+       int ret_val = 0;
+
+       if (!led_supported) {
+               SKIP_MESSAGE("Led not supported");
+               return;
+       }
+
+       ret_val = hal_device_led_get_number();
+       if (ret_val == -ENOTSUP) {
+               SKIP_MESSAGE("Not supported HAL");
+               return;
+       }
+}
+
+TEST_F(LED, SetNumberP)
+{
+       int ret_val = 0;
+
+       if (!led_supported) {
+               SKIP_MESSAGE("Led not supported");
+               return;
+       }
+
+       ret_val = hal_device_led_set_number(0);
+       if (ret_val == -ENOTSUP) {
+               SKIP_MESSAGE("Not supported HAL");
+               return;
+       }
+       EXPECT_EQ(ret_val, 0);
+}
+
+TEST_F(LED, GetMaxNumP)
+{
+       int ret_val = 0;
+
+       if (!led_supported) {
+               SKIP_MESSAGE("Led not supported");
+               return;
+       }
+
+       ret_val = hal_device_led_get_number();
+       if (ret_val == -ENOTSUP) {
+               SKIP_MESSAGE("Not supported HAL");
+               return;
+       }
+}
+
+TEST_F(LED, KeyledSetStateP)
+{
+       int ret_val = 0;
+       hal_device_led_keyled_state_s keyled_state = {0, 0};
+
+       if (!led_supported) {
+               SKIP_MESSAGE("Led not supported");
+               return;
+       }
+
+       ret_val = hal_device_keyled_set_state(&keyled_state);
+       if (ret_val == -ENOTSUP) {
+               SKIP_MESSAGE("Not supported HAL");
+               return;
+       }
+}
+
+TEST_F(LED, KeyledGetStateP)
+{
+       int ret_val = 0;
+       int keycode, brightness;
+
+       if (!led_supported) {
+               SKIP_MESSAGE("Led not supported");
+               return;
+       }
+
+       ret_val = hal_device_keyled_get_state(&keycode, &brightness);
+       if (ret_val == -ENOTSUP) {
+               SKIP_MESSAGE("Not supported HAL");
+               return;
+       }
+}
+
+TEST_F(LED, PutBackendP)
+{
+       int ret_val = 0;
+
+       if (!led_supported) {
+               SKIP_MESSAGE("Led not supported");
+               return;
+       }
+
+       ret_val = hal_device_led_put_backend();
+       EXPECT_EQ(ret_val, 0);
+}
\ No newline at end of file