• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Copyright (c) 2025 Huawei Device Co., Ltd.
3  * Licensed under the Apache License, Version 2.0 (the "License");
4  * you may not use this file except in compliance with the License.
5  * You may obtain a copy of the License at
6  *
7  *     http://www.apache.org/licenses/LICENSE-2.0
8  *
9  * Unless required by applicable law or agreed to in writing, software
10  * distributed under the License is distributed on an "AS IS" BASIS,
11  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12  * See the License for the specific language governing permissions and
13  * limitations under the License.
14  */
15 
16 #include "usbd_accessory_test.h"
17 
18 #include <cstdint>
19 #include <cstdio>
20 #include <iostream>
21 #include <vector>
22 #include <string>
23 
24 #include "hdf_log.h"
25 #include "usbd_wrapper.h"
26 #include "v2_0/iusb_device_interface.h"
27 
28 using namespace testing::ext;
29 using namespace OHOS;
30 using namespace OHOS::USB;
31 using namespace std;
32 using namespace OHOS::HDI::Usb::V2_0;
33 
34 sptr<UsbSubTest> UsbdAccessoryTest::subscriber_ = nullptr;
35 
36 sptr<OHOS::HDI::Usb::V2_0::IUsbDeviceInterface> g_usbDeviceInterface = nullptr;
37 
SetUpTestCase(void)38 void UsbdAccessoryTest::SetUpTestCase(void)
39 {
40     g_usbDeviceInterface = OHOS::HDI::Usb::V2_0::IUsbDeviceInterface::Get();
41     if (g_usbDeviceInterface == nullptr) {
42         HDF_LOGE("%{public}s:IUsbInterface::Get() failed.", __func__);
43         exit(0);
44     }
45     std::cout << "please connect accessory, press enter to continue" << std::endl;
46     int c;
47     do {
48         c = getchar();
49     } while (c != '\n' && c != EOF);
50 }
51 
TearDownTestCase(void)52 void UsbdAccessoryTest::TearDownTestCase(void) {}
53 
SetUp(void)54 void UsbdAccessoryTest::SetUp(void) {}
55 
TearDown(void)56 void UsbdAccessoryTest::TearDown(void) {}
57 
58 /**
59  * @tc.name: GetAccessoryInfo001
60  * @tc.desc: Test functions to GetAccessoryInfo
61  * @tc.type: FUNC
62  */
63 HWTEST_F(UsbdAccessoryTest, GetAccessoryInfo001, TestSize.Level1)
64 {
65     HDF_LOGI("Case Start : GetAccessoryInfo001 : GetAccessoryInfo");
66     vector<string> accessoryInfo;
67     auto ret = g_usbDeviceInterface->GetAccessoryInfo(accessoryInfo);
68     EXPECT_TRUE(ret == 0);
69     HDF_LOGI("UsbdAccessoryTest::GetAccessoryInfo001 %{public}d ret=%{public}d", __LINE__, ret);
70 
71     EXPECT_TRUE(!accessoryInfo.empty()) << "accessoryInfo NULL";
72     HDF_LOGI("UsbdAccessoryTest::GetAccessoryInfo001 %{public}d size=%{public}zu", __LINE__, accessoryInfo.size());
73 }
74 
75 /**
76  * @tc.name: OpenAccessory001
77  * @tc.desc: Test functions to OpenAccessory
78  * @tc.type: FUNC
79  */
80 HWTEST_F(UsbdAccessoryTest, OpenAccessory001, TestSize.Level1)
81 {
82     HDF_LOGI("Case Start : OpenAccessory001 : OpenAccessory");
83     int32_t fd;
84     auto ret = g_usbDeviceInterface->OpenAccessory(fd);
85     EXPECT_TRUE(ret == 0);
86     HDF_LOGI("UsbdAccessoryTest::OpenAccessory001 %{public}d ret=%{public}d", __LINE__, ret);
87     g_usbDeviceInterface->CloseAccessory(fd);
88 }
89 
90 /**
91  * @tc.name: OpenAccessory002
92  * @tc.desc: Test functions to OpenAccessory
93  * @tc.type: FUNC
94  */
95 HWTEST_F(UsbdAccessoryTest, OpenAccessory002, TestSize.Level1)
96 {
97     HDF_LOGI("Case Start : OpenAccessory001 : OpenAccessory");
98     int32_t fd;
99     auto ret = g_usbDeviceInterface->OpenAccessory(fd);
100     EXPECT_TRUE(ret == 0);
101     HDF_LOGI("UsbdAccessoryTest::OpenAccessory002 %{public}d ret=%{public}d", __LINE__, ret);
102     ret = g_usbDeviceInterface->OpenAccessory(fd);
103     EXPECT_TRUE(ret != 0);
104     HDF_LOGI("UsbdAccessoryTest::OpenAccessory002 %{public}d ret=%{public}d", __LINE__, ret);
105     g_usbDeviceInterface->CloseAccessory(fd);
106 }
107 
108 /**
109  * @tc.name: CloseAccessory001
110  * @tc.desc: Test functions to CloseAccessory
111  * @tc.type: FUNC
112  */
113 HWTEST_F(UsbdAccessoryTest, CloseAccessory001, TestSize.Level1)
114 {
115     HDF_LOGI("Case Start : CloseAccessory001 : CloseAccessory");
116     int32_t fd;
117     auto ret = g_usbDeviceInterface->OpenAccessory(fd);
118     EXPECT_TRUE(ret == 0);
119     HDF_LOGI("UsbdAccessoryTest::CloseAccessory001 %{public}d ret=%{public}d", __LINE__, ret);
120     ret = g_usbDeviceInterface->CloseAccessory(fd);
121     EXPECT_TRUE(ret == 0);
122     HDF_LOGI("UsbdAccessoryTest::CloseAccessory001 %{public}d ret=%{public}d", __LINE__, ret);
123 }
124