3 #include <gtest/gtest.h>
4 #include "hw/external_connection.h"
12 struct external_connection_device *ext_dev;
14 class EXTCONHalTest : public testing::Test
22 virtual void TearDown()
31 TEST_F(EXTCONHalTest, InitP)
35 ret = hw_get_info(EXTERNAL_CONNECTION_HARDWARE_DEVICE_ID,
36 (const struct hw_info **)&info);
38 cout << "There is no device for extcon" << ret << endl;
41 EXPECT_EQ(ret, 0) << "Fail to load extcon hal (" << ret << ")";
44 if (!info || !info->open) {
45 cout << "There is no function for info open" << endl;
48 ret = info->open(info, NULL, (struct hw_common**)&ext_dev);
49 EXPECT_EQ(ret, 0) << "Fail to open extcon device(" << ret << ")";
52 static void updated_cb(struct connection_info *info, void *data)
57 TEST_F(EXTCONHalTest, RegisterChangedEventP)
61 if (!ext_dev || !ext_dev->register_changed_event) {
62 cout << "There is no function for register_changed_event" << endl;
65 ret = ext_dev->register_changed_event(updated_cb, NULL);
66 EXPECT_EQ(ret, 0) << "Fail to register_changed_event (" << ret << ")";
69 TEST_F(EXTCONHalTest, UnregisterChangedEventP)
71 if (!ext_dev || !ext_dev->unregister_changed_event) {
72 cout << "There is no function for unregister_changed_event" << endl;
75 ext_dev->unregister_changed_event(updated_cb);
78 TEST_F(EXTCONHalTest, GetCurrentStateP)
82 if (!ext_dev || !ext_dev->get_current_state) {
83 cout << "There is no function for unregister_changed_event" << endl;
86 ret = ext_dev->get_current_state(updated_cb, NULL);
87 EXPECT_EQ(ret, 0) << "Fail to unregister_changed_event (" << ret << ")";
90 TEST_F(EXTCONHalTest, DeinitP)
94 if (!info || !info->close) {
95 cout << "There is no function for info close" << endl;
98 ret = info->close((struct hw_common *)ext_dev);
99 EXPECT_EQ(ret, 0) << "Fail to close extcon device(" << ret << ")";
102 int main(int argc, char **argv)
104 testing::InitGoogleTest(&argc, argv);
106 return RUN_ALL_TESTS();