diff options
Diffstat (limited to 'unittest/gtest_hal_display.cpp')
-rw-r--r-- | unittest/gtest_hal_display.cpp | 204 |
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(); +} |