summaryrefslogtreecommitdiff
path: root/unittest/gtest_hal_display.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'unittest/gtest_hal_display.cpp')
-rw-r--r--unittest/gtest_hal_display.cpp204
1 files changed, 204 insertions, 0 deletions
diff --git a/unittest/gtest_hal_display.cpp b/unittest/gtest_hal_display.cpp
new file mode 100644
index 0000000..8e76036
--- /dev/null
+++ b/unittest/gtest_hal_display.cpp
@@ -0,0 +1,204 @@
+
+#include <iostream>
+#include <gtest/gtest.h>
+#include "hw/common.h"
+#include "hw/display.h"
+
+using namespace std;
+
+/*
+ * main class
+ */
+
+#define LOWBATTERY "LowBattery"
+
+struct display_device *display_dev;
+
+class DISPLAYHalTest : public testing::Test
+{
+ public:
+ virtual void SetUp()
+ {
+ struct hw_info *info;
+ int ret;
+ ret = hw_get_info(DISPLAY_HARDWARE_DEVICE_ID,
+ (const struct hw_info **)&info);
+
+ if (ret < 0) {
+ cout << "Fail to load cpu hal(" << ret << ")" << endl;
+ assert(true);
+ return;
+ }
+ if (!info->open) {
+ cout << "Failed to open cpu device; open(NULL)" << endl;
+ assert(true);
+ return;
+ }
+
+ ret = info->open(info, NULL, (struct hw_common**)&display_dev);
+ if (ret < 0 || !display_dev) {
+ cout << "Failed to get cpu device structure (" << ret << ")" << endl;
+ assert(true);
+ return;
+ }
+
+ return;
+ }
+
+ virtual void TearDown()
+ {
+ struct hw_info *info;
+
+ info = display_dev->common.info;
+ if (!info)
+ free(display_dev);
+ else
+ info->close((struct hw_common *)display_dev);
+ display_dev = NULL;
+
+ return;
+ }
+};
+
+/*
+ * testcase
+ */
+TEST_F(DISPLAYHalTest, InitP)
+{
+ EXPECT_NE(display_dev, nullptr);
+}
+
+TEST_F(DISPLAYHalTest, DeinitP)
+{
+ struct display_device *tmp;
+ struct hw_info *info;
+ int ret;
+
+ hw_get_info(DISPLAY_HARDWARE_DEVICE_ID,
+ (const struct hw_info **)&info);
+
+ EXPECT_NE(info, nullptr);
+ if (!info->open || !info->close)
+ return;
+ info->open(info, NULL, (struct hw_common**)&tmp);
+
+ ret = info->close((struct hw_common *)tmp);
+ EXPECT_EQ(ret, 0);
+}
+
+TEST_F(DISPLAYHalTest, GetMaxBrightnessP)
+{
+ int ret;
+ int max;
+
+ EXPECT_NE(display_dev, nullptr);
+ if (!display_dev->get_max_brightness)
+ return;
+ ret = display_dev->get_max_brightness(&max);
+ EXPECT_EQ(ret, 0);
+}
+
+TEST_F(DISPLAYHalTest, GetBrightnessP)
+{
+ int ret;
+ int brt;
+
+ EXPECT_NE(display_dev, nullptr);
+ if (!display_dev->get_brightness)
+ return;
+ ret = display_dev->get_brightness(&brt);
+ EXPECT_EQ(ret, 0);
+}
+
+TEST_F(DISPLAYHalTest, SetBrightnessP)
+{
+ int ret;
+ int max;
+
+ EXPECT_NE(display_dev, nullptr);
+ if (!display_dev->set_brightness)
+ return;
+ ret = display_dev->get_max_brightness(&max);
+ ret = display_dev->set_brightness(max);
+ EXPECT_EQ(ret, 0);
+}
+
+TEST_F(DISPLAYHalTest, GetAutoBrightnessP)
+{
+ int ret;
+ int brt;
+ float lmax = 0, lmin = 0, light = 0;
+
+ EXPECT_NE(display_dev, nullptr);
+ if (!display_dev->get_auto_brightness)
+ return;
+ ret = display_dev->get_auto_brightness(lmax, lmin, light, &brt);
+ EXPECT_GE(ret, 0);
+}
+
+TEST_F(DISPLAYHalTest, GetStateP)
+{
+ int ret;
+ enum display_state state;
+
+ EXPECT_NE(display_dev, nullptr);
+ if (!display_dev->get_state)
+ return;
+ ret = display_dev->get_state(&state);
+ EXPECT_GE(ret, 0);
+}
+
+TEST_F(DISPLAYHalTest, SetStateP)
+{
+ int ret;
+
+ EXPECT_NE(display_dev, nullptr);
+ if (!display_dev->set_state)
+ return;
+ ret = display_dev->set_state(DISPLAY_ON);
+ EXPECT_GE(ret, 0);
+}
+
+TEST_F(DISPLAYHalTest, GetMaxFrameRateP)
+{
+ int ret;
+ int max;
+
+ EXPECT_NE(display_dev, nullptr);
+ if (!display_dev->get_max_frame_rate)
+ return;
+ ret = display_dev->get_max_frame_rate(&max);
+ EXPECT_GE(ret, 0);
+}
+
+TEST_F(DISPLAYHalTest, GetMinFrameRateP)
+{
+ int ret;
+ int min;
+
+ EXPECT_NE(display_dev, nullptr);
+ if (!display_dev->get_min_frame_rate)
+ return;
+ ret = display_dev->get_min_frame_rate(&min);
+ EXPECT_GE(ret, 0);
+}
+
+TEST_F(DISPLAYHalTest, SetFrameRateP)
+{
+ int ret;
+ int max;
+
+ EXPECT_NE(display_dev, nullptr);
+ if (!display_dev->set_frame_rate)
+ return;
+ ret = display_dev->get_max_frame_rate(&max);
+ ret = display_dev->set_frame_rate(max);
+ EXPECT_GE(ret, 0);
+}
+
+int main(int argc, char **argv)
+{
+ testing::InitGoogleTest(&argc, argv);
+
+ return RUN_ALL_TESTS();
+}