3 #include <gtest/gtest.h>
4 #include <system_info.h>
5 #include "hw/usb_gadget.h"
14 struct usb_gadget *gadget_dev;
15 struct usb_gadget_translator *gadget_translator;
17 class USBGADGETHalTest : public testing::Test
25 virtual void TearDown()
34 TEST_F(USBGADGETHalTest, InitP)
38 ret = hw_get_info(USB_GADGET_DEVICE_ID,
39 (const struct hw_info **)&info);
41 cout << "There is no device for usb gadget" << ret << endl;
44 EXPECT_EQ(ret, 0) << "Fail to get hal for usb gadget (" << ret << ")";
47 if (!info || !info->open) {
48 cout << "There is no function for info open" << endl;
51 ret = info->open(info, NULL, (struct hw_common**)&gadget_translator);
52 EXPECT_EQ(ret, 0) << "Fail to open usb gadget device (" << ret << ")";
55 TEST_F(USBGADGETHalTest, IdToGadget)
57 struct usb_gadget_id gadget_id;
61 if (!gadget_translator || !gadget_translator->id_to_gadget) {
62 cout << "There is no function for id_to_gadget" << endl;
65 //dummy code to prevent error for not used function
66 snprintf(str, 255, "%s,", _available_funcs[2]->name);
67 gadget_id.function_mask = 7;
68 ret = gadget_translator->id_to_gadget(&gadget_id, &gadget_dev);
69 EXPECT_EQ(ret, 0) << "Fail to id_to_gadget (" << ret << ")";
72 TEST_F(USBGADGETHalTest, CleanUpGadget)
74 if (!gadget_translator || !gadget_translator->cleanup_gadget) {
75 cout << "There is no function for cleanup_gadget" << endl;
78 gadget_translator->cleanup_gadget(gadget_dev);
81 TEST_F(USBGADGETHalTest, DeinitP)
85 if (!info || !info->close) {
86 cout << "There is no function for info close" << endl;
89 ret = info->close((struct hw_common *)gadget_translator);
90 EXPECT_EQ(ret, 0) << "Fail to close usb gadget device (" << ret << ")";
93 int main(int argc, char **argv)
95 testing::InitGoogleTest(&argc, argv);
97 return RUN_ALL_TESTS();