• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Copyright (c) 2021-2022 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 "usb_device_pipe_test.h"
17 
18 #include <sys/time.h>
19 
20 #include <iostream>
21 #include <vector>
22 
23 #include "delayed_sp_singleton.h"
24 #include "hilog_wrapper.h"
25 #include "if_system_ability_manager.h"
26 #include "system_ability_definition.h"
27 #include "usb_srv_client.h"
28 
29 using namespace testing::ext;
30 using namespace OHOS;
31 using namespace OHOS::USB;
32 using namespace std;
33 using namespace OHOS::HDI::Usb::V1_0;
34 
35 namespace OHOS {
36 namespace USB {
37 namespace DevicePipe {
38 constexpr int32_t SLEEP_TIME = 3;
39 constexpr int32_t BUFFER_SIZE = 255;
SetUpTestCase(void)40 void UsbDevicePipeTest::SetUpTestCase(void)
41 {
42     auto &srvClient = UsbSrvClient::GetInstance();
43     auto ret = srvClient.SetPortRole(1, 1, 1);
44     sleep(SLEEP_TIME);
45     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest:: [Device] SetPortRole=%{public}d", ret);
46     ASSERT_TRUE(ret == 0);
47     if (ret != 0) {
48         exit(0);
49     }
50 
51     std::cout << "please connect device, press enter to continue" << std::endl;
52     int32_t c;
53     while ((c = getchar()) != '\n' && c != EOF) {
54         ;
55     }
56     USB_HILOGI(MODULE_USB_SERVICE, "Start UsbDevicePipeTest");
57 }
58 
TearDownTestCase(void)59 void UsbDevicePipeTest::TearDownTestCase(void)
60 {
61     USB_HILOGI(MODULE_USB_SERVICE, "End UsbDevicePipeTest");
62 }
63 
SetUp(void)64 void UsbDevicePipeTest::SetUp(void) {}
65 
TearDown(void)66 void UsbDevicePipeTest::TearDown(void) {}
67 
68 /**
69  * @tc.name: getDevices001
70  * @tc.desc: Test functions to getDevices(std::vector<UsbDevice> &deviceList);
71  * @tc.type: FUNC
72  */
73 HWTEST_F(UsbDevicePipeTest, getDevices001, TestSize.Level1)
74 {
75     USB_HILOGI(MODULE_USB_SERVICE, "Case Start : getDevices001 : getDevices");
76     vector<UsbDevice> devi;
77     auto &UsbSrvClient = UsbSrvClient::GetInstance();
78     auto ret = UsbSrvClient.GetDevices(devi);
79     EXPECT_TRUE(ret == 0);
80     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::getDevices001 %{public}d ret=%{public}d", __LINE__, ret);
81     EXPECT_TRUE(!(devi.empty())) << "delist NULL";
82     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::getDevices001 %{public}d size=%{public}zu", __LINE__,
83                devi.size());
84     USBDevicePipe pipe;
85     UsbDevice device = devi.front();
86     UsbSrvClient.RequestRight(device.GetName());
87     ret = UsbSrvClient.OpenDevice(device, pipe);
88     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::getDevices001 %{public}d OpenDevice=%{public}d", __LINE__, ret);
89     EXPECT_TRUE(ret == 0);
90     ret = UsbSrvClient.Close(pipe);
91     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::getDevices001 %{public}d Close=%{public}d", __LINE__, ret);
92     EXPECT_TRUE(ret);
93     USB_HILOGI(MODULE_USB_SERVICE, "Case End : getDevices001 : getDevices");
94 }
95 
96 /**
97  * @tc.name: UsbOpenDevice001
98  * @tc.desc: Test functions of OpenDevice
99  * @tc.desc: int32_t OpenDevice(const UsbDevice &device, USBDevicePipe &pip)
100  * @tc.desc: 正向测试:代码正常运行,返回结果为0
101  * @tc.type: FUNC
102  */
103 HWTEST_F(UsbDevicePipeTest, UsbOpenDevice001, TestSize.Level1)
104 {
105     USB_HILOGI(MODULE_USB_SERVICE, "Case Start : UsbOpenDevice001: OpenDevice");
106     auto &UsbSrvClient = UsbSrvClient::GetInstance();
107     std::vector<UsbDevice> deviceList;
108     auto ret = UsbSrvClient.GetDevices(deviceList);
109     EXPECT_TRUE(ret == 0);
110     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::UsbOpenDevice001 %{public}d ret=%{public}d", __LINE__, ret);
111     EXPECT_TRUE(!(deviceList.empty())) << "delist NULL";
112     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::UsbOpenDevice001 %{public}d size=%{public}zu", __LINE__,
113                deviceList.size());
114     UsbDevice device = deviceList.front();
115     USBDevicePipe pipe;
116     UsbSrvClient.RequestRight(device.GetName());
117     ret = UsbSrvClient.OpenDevice(device, pipe);
118     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::UsbOpenDevice001 %{public}d OpenDevice=%{public}d", __LINE__,
119                ret);
120     EXPECT_TRUE(ret == 0);
121     ret = UsbSrvClient.Close(pipe);
122     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::Close=%{public}d", ret);
123     EXPECT_TRUE(ret);
124     USB_HILOGI(MODULE_USB_SERVICE, "Case End : UsbOpenDevice001: OpenDevice");
125 }
126 
127 /**
128  * @tc.name: Usbcontrolstansfer001
129  * @tc.desc: Test functions to ControlTransfer
130  * @tc.type: FUNC
131  */
132 HWTEST_F(UsbDevicePipeTest, Usbcontrolstansfer001, TestSize.Level1)
133 {
134     USB_HILOGI(MODULE_USB_SERVICE, "Case Start : Usbcontrolstansfer001 : ControlTransfer");
135     vector<UsbDevice> devi;
136     auto &UsbSrvClient = UsbSrvClient::GetInstance();
137     auto ret = UsbSrvClient.GetDevices(devi);
138     EXPECT_TRUE(ret == 0);
139     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::Usbcontrolstansfer001 %{public}d ret=%{public}d", __LINE__, ret);
140     EXPECT_TRUE(!(devi.empty())) << "delist NULL";
141     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::Usbcontrolstansfer001 %{public}d size=%{public}zu", __LINE__,
142                devi.size());
143     USBDevicePipe pipe;
144     UsbDevice device = devi.front();
145     UsbSrvClient.RequestRight(device.GetName());
146     ret = UsbSrvClient.OpenDevice(device, pipe);
147     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::Usbcontrolstansfer001 %{public}d OpenDevice=%{public}d",
148                __LINE__, ret);
149     EXPECT_TRUE(ret == 0);
150     uint32_t len = 8;
151     uint8_t buffer[BUFFER_SIZE] = {0};
152     struct UsbCtrlTransfer ctrldata = {0b10000000, 8, 0, 0, 500};
153     std::vector<uint8_t> ctrlbuffer = {buffer, buffer + len};
154     ret = UsbSrvClient.ControlTransfer(pipe, ctrldata, ctrlbuffer);
155     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::Usbcontrolstansfer001 %{public}d ControlTransfer=%{public}d",
156                __LINE__, ret);
157     EXPECT_TRUE(ret == 0);
158     ret = UsbSrvClient.Close(pipe);
159     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::Close=%{public}d", ret);
160     EXPECT_TRUE(ret);
161     USB_HILOGI(MODULE_USB_SERVICE, "Case End : Usbcontrolstansfer001 : ControlTransfer");
162 }
163 
164 /**
165  * @tc.name: Usbcontrolstansfer002
166  * @tc.desc: Test functions to ControlTransfer
167  * @tc.type: FUNC
168  */
169 HWTEST_F(UsbDevicePipeTest, Usbcontrolstansfer002, TestSize.Level1)
170 {
171     USB_HILOGI(MODULE_USB_SERVICE, "Case Start : Usbcontrolstansfer002 : ControlTransfer");
172     vector<UsbDevice> devi;
173     auto &UsbSrvClient = UsbSrvClient::GetInstance();
174     auto ret = UsbSrvClient.GetDevices(devi);
175     EXPECT_TRUE(ret == 0);
176     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::Usbcontrolstansfer002 %{public}d ret=%{public}d", __LINE__, ret);
177     EXPECT_TRUE(!(devi.empty())) << "delist NULL";
178     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::Usbcontrolstansfer002 %{public}d size=%{public}zu", __LINE__,
179                devi.size());
180     USBDevicePipe pipe;
181     UsbDevice device = devi.front();
182     UsbSrvClient.RequestRight(device.GetName());
183     ret = UsbSrvClient.OpenDevice(device, pipe);
184     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::Usbcontrolstansfer002 %{public}d OpenDevice=%{public}d",
185                __LINE__, ret);
186     EXPECT_TRUE(ret == 0);
187     uint32_t len = 8;
188     uint8_t buffer[BUFFER_SIZE] = {0};
189     pipe.SetBusNum(BUFFER_SIZE);
190     struct UsbCtrlTransfer ctrldata = {0b10000000, 8, 0, 0, 500};
191     std::vector<uint8_t> ctrlbuffer = {buffer, buffer + len};
192     ret = UsbSrvClient.ControlTransfer(pipe, ctrldata, ctrlbuffer);
193     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::Usbcontrolstansfer002 %{public}d ControlTransfer=%{public}d",
194                __LINE__, ret);
195     EXPECT_TRUE(ret != 0);
196     pipe.SetBusNum(device.GetBusNum());
197     ret = UsbSrvClient.Close(pipe);
198     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::Close=%{public}d", ret);
199     EXPECT_TRUE(ret);
200     USB_HILOGI(MODULE_USB_SERVICE, "Case End : Usbcontrolstansfer002 : ControlTransfer");
201 }
202 
203 /**
204  * @tc.name: Usbcontrolstansfer003
205  * @tc.desc: Test functions to ControlTransfer
206  * @tc.type: FUNC
207  */
208 HWTEST_F(UsbDevicePipeTest, Usbcontrolstansfer003, TestSize.Level1)
209 {
210     USB_HILOGI(MODULE_USB_SERVICE, "Case Start : Usbcontrolstansfer003 : ControlTransfer");
211     vector<UsbDevice> devi;
212     auto &UsbSrvClient = UsbSrvClient::GetInstance();
213     auto ret = UsbSrvClient.GetDevices(devi);
214     EXPECT_TRUE(ret == 0);
215     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::Usbcontrolstansfer003 %{public}d ret=%{public}d", __LINE__, ret);
216     EXPECT_TRUE(!(devi.empty())) << "delist NULL";
217     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::Usbcontrolstansfer003 %{public}d size=%{public}zu", __LINE__,
218                devi.size());
219     USBDevicePipe pipe;
220     UsbDevice device = devi.front();
221     UsbSrvClient.RequestRight(device.GetName());
222     ret = UsbSrvClient.OpenDevice(device, pipe);
223     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::Usbcontrolstansfer003 %{public}d OpenDevice=%{public}d",
224                __LINE__, ret);
225     EXPECT_TRUE(ret == 0);
226     uint32_t len = 8;
227     uint8_t buffer[BUFFER_SIZE] = {0};
228     pipe.SetDevAddr(BUFFER_SIZE);
229     struct UsbCtrlTransfer ctrldata = {0b10000000, 8, 0, 0, 500};
230     std::vector<uint8_t> ctrlbuffer = {buffer, buffer + len};
231     ret = UsbSrvClient.ControlTransfer(pipe, ctrldata, ctrlbuffer);
232     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::Usbcontrolstansfer003 %{public}d ControlTransfer=%{public}d",
233                __LINE__, ret);
234     EXPECT_TRUE(ret != 0);
235     pipe.SetDevAddr(device.GetDevAddr());
236     ret = UsbSrvClient.Close(pipe);
237     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::Close=%{public}d", ret);
238     EXPECT_TRUE(ret);
239     USB_HILOGI(MODULE_USB_SERVICE, "Case End : Usbcontrolstansfer003 : ControlTransfer");
240 }
241 
242 /**
243  * @tc.name: Usbcontrolstansfer004
244  * @tc.desc: Test functions to ControlTransfer
245  * @tc.type: FUNC
246  */
247 HWTEST_F(UsbDevicePipeTest, Usbcontrolstansfer004, TestSize.Level1)
248 {
249     USB_HILOGI(MODULE_USB_SERVICE, "Case Start : Usbcontrolstansfer004 : ControlTransfer");
250     vector<UsbDevice> devi;
251     auto &UsbSrvClient = UsbSrvClient::GetInstance();
252     auto ret = UsbSrvClient.GetDevices(devi);
253     EXPECT_TRUE(ret == 0);
254     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::Usbcontrolstansfer004 %{public}d ret=%{public}d", __LINE__, ret);
255     EXPECT_TRUE(!(devi.empty())) << "delist NULL";
256     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::Usbcontrolstansfer004 %{public}d size=%{public}zu", __LINE__,
257                devi.size());
258     USBDevicePipe pipe;
259     UsbDevice device = devi.front();
260     UsbSrvClient.RequestRight(device.GetName());
261     ret = UsbSrvClient.OpenDevice(device, pipe);
262     EXPECT_TRUE(ret == 0);
263     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::Usbcontrolstansfer004 %{public}d OpenDevice=%{public}d",
264                __LINE__, ret);
265     uint32_t len = 8;
266     uint8_t buffer[BUFFER_SIZE] = {0};
267     struct UsbCtrlTransfer ctrldata = {0b10000000, 6, 0x100, 0, 500};
268     std::vector<uint8_t> ctrlbuffer = {buffer, buffer + len};
269     ret = UsbSrvClient.ControlTransfer(pipe, ctrldata, ctrlbuffer);
270     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::Usbcontrolstansfer004 %{public}d ControlTransfer=%{public}d",
271                __LINE__, ret);
272     EXPECT_TRUE(ret == 0);
273     ret = UsbSrvClient.Close(pipe);
274     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::Close=%{public}d", ret);
275     EXPECT_TRUE(ret);
276     USB_HILOGI(MODULE_USB_SERVICE, "Case End : Usbcontrolstansfer004 : ControlTransfer");
277 }
278 
279 /**
280  * @tc.name: Usbcontrolstansfer005
281  * @tc.desc: Test functions to ControlTransfer
282  * @tc.type: FUNC
283  */
284 HWTEST_F(UsbDevicePipeTest, Usbcontrolstansfer005, TestSize.Level1)
285 {
286     USB_HILOGI(MODULE_USB_SERVICE, "Case Start : Usbcontrolstansfer005 : ControlTransfer");
287     vector<UsbDevice> devi;
288     auto &UsbSrvClient = UsbSrvClient::GetInstance();
289     auto ret = UsbSrvClient.GetDevices(devi);
290     EXPECT_TRUE(ret == 0);
291     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::Usbcontrolstansfer005 %{public}d ret=%{public}d", __LINE__, ret);
292     EXPECT_TRUE(!(devi.empty())) << "delist NULL";
293     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::Usbcontrolstansfer005 %{public}d size=%{public}zu", __LINE__,
294                devi.size());
295     USBDevicePipe pipe;
296     UsbDevice device = devi.front();
297     UsbSrvClient.RequestRight(device.GetName());
298     ret = UsbSrvClient.OpenDevice(device, pipe);
299     EXPECT_TRUE(ret == 0);
300     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::Usbcontrolstansfer005 %{public}d OpenDevice=%{public}d",
301                __LINE__, ret);
302     uint32_t len = 8;
303     uint8_t buffer[BUFFER_SIZE] = {0};
304     pipe.SetBusNum(BUFFER_SIZE);
305     struct UsbCtrlTransfer ctrldata = {0b10000000, 6, 0x100, 0, 500};
306     std::vector<uint8_t> ctrlbuffer = {buffer, buffer + len};
307     ret = UsbSrvClient.ControlTransfer(pipe, ctrldata, ctrlbuffer);
308     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::Usbcontrolstansfer005 %{public}d ControlTransfer=%{public}d",
309                __LINE__, ret);
310     EXPECT_TRUE(ret != 0);
311     pipe.SetBusNum(device.GetBusNum());
312     ret = UsbSrvClient.Close(pipe);
313     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::Close=%{public}d", ret);
314     EXPECT_TRUE(ret);
315     USB_HILOGI(MODULE_USB_SERVICE, "Case End : Usbcontrolstansfer005 : ControlTransfer");
316 }
317 
318 /**
319  * @tc.name: Usbcontrolstansfer006
320  * @tc.desc: Test functions to ControlTransfer
321  * @tc.type: FUNC
322  */
323 HWTEST_F(UsbDevicePipeTest, Usbcontrolstansfer006, TestSize.Level1)
324 {
325     USB_HILOGI(MODULE_USB_SERVICE, "Case Start : Usbcontrolstansfer006 : ControlTransfer");
326     vector<UsbDevice> devi;
327     auto &UsbSrvClient = UsbSrvClient::GetInstance();
328     auto ret = UsbSrvClient.GetDevices(devi);
329     EXPECT_TRUE(ret == 0);
330     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::Usbcontrolstansfer006 %{public}d ret=%{public}d", __LINE__, ret);
331     EXPECT_TRUE(!(devi.empty())) << "delist NULL";
332     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::Usbcontrolstansfer006 %{public}d size=%{public}zu", __LINE__,
333                devi.size());
334     USBDevicePipe pipe;
335     UsbDevice device = devi.front();
336     UsbSrvClient.RequestRight(device.GetName());
337     ret = UsbSrvClient.OpenDevice(device, pipe);
338     EXPECT_TRUE(ret == 0);
339     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::Usbcontrolstansfer006 %{public}d OpenDevice=%{public}d",
340                __LINE__, ret);
341     uint32_t len = 8;
342     uint8_t buffer[BUFFER_SIZE] = {0};
343     pipe.SetDevAddr(BUFFER_SIZE);
344     struct UsbCtrlTransfer ctrldata = {0b10000000, 6, 0x100, 0, 500};
345     std::vector<uint8_t> ctrlbuffer = {buffer, buffer + len};
346     ret = UsbSrvClient.ControlTransfer(pipe, ctrldata, ctrlbuffer);
347     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::Usbcontrolstansfer006 %{public}d ControlTransfer=%{public}d",
348                __LINE__, ret);
349     EXPECT_TRUE(ret != 0);
350     pipe.SetDevAddr(device.GetDevAddr());
351     ret = UsbSrvClient.Close(pipe);
352     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::Close=%{public}d", ret);
353     EXPECT_TRUE(ret);
354     USB_HILOGI(MODULE_USB_SERVICE, "Case End : Usbcontrolstansfer006 : ControlTransfer");
355 }
356 
357 /**
358  * @tc.name: Usbcontrolstansfer007
359  * @tc.desc: Test functions to ControlTransfer
360  * @tc.type: FUNC
361  */
362 HWTEST_F(UsbDevicePipeTest, Usbcontrolstansfer007, TestSize.Level1)
363 {
364     USB_HILOGI(MODULE_USB_SERVICE, "Case Start : Usbcontrolstansfer007 : ControlTransfer");
365     vector<UsbDevice> devi;
366     auto &UsbSrvClient = UsbSrvClient::GetInstance();
367     auto ret = UsbSrvClient.GetDevices(devi);
368     EXPECT_TRUE(ret == 0);
369     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::Usbcontrolstansfer007 %{public}d ret=%{public}d", __LINE__, ret);
370     EXPECT_TRUE(!(devi.empty())) << "delist NULL";
371     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::Usbcontrolstansfer007 %{public}d size=%{public}zu", __LINE__,
372                devi.size());
373     USBDevicePipe pipe;
374     UsbDevice device = devi.front();
375     UsbSrvClient.RequestRight(device.GetName());
376     UsbInterface interface = device.GetConfigs().front().GetInterfaces().front();
377     ret = UsbSrvClient.OpenDevice(device, pipe);
378     EXPECT_TRUE(ret == 0);
379     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::Usbcontrolstansfer007 %{public}d OpenDevice=%{public}d",
380                __LINE__, ret);
381     uint32_t len = BUFFER_SIZE;
382     uint8_t buffer[BUFFER_SIZE] = {0};
383     struct UsbCtrlTransfer ctrldata = {0b10000001, 0X0A, 0, 0, 500};
384     std::vector<uint8_t> ctrlbuffer = {buffer, buffer + len};
385     ret = UsbSrvClient.ControlTransfer(pipe, ctrldata, ctrlbuffer);
386     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::Usbcontrolstansfer007 %{public}d ControlTransfer=%{public}d",
387                __LINE__, ret);
388     EXPECT_TRUE(ret == 0);
389     ret = UsbSrvClient.Close(pipe);
390     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::Usbcontrolstansfer007 %{public}d Close=%{public}d", __LINE__,
391                ret);
392     EXPECT_TRUE(ret);
393     USB_HILOGI(MODULE_USB_SERVICE, "Case End : Usbcontrolstansfer007 : ControlTransfer");
394 }
395 
396 /**
397  * @tc.name: Usbcontrolstansfer008
398  * @tc.desc: Test functions to ControlTransfer
399  * @tc.type: FUNC
400  */
401 HWTEST_F(UsbDevicePipeTest, Usbcontrolstansfer008, TestSize.Level1)
402 {
403     USB_HILOGI(MODULE_USB_SERVICE, "Case Start : Usbcontrolstansfer008 : ControlTransfer");
404     vector<UsbDevice> devi;
405     auto &UsbSrvClient = UsbSrvClient::GetInstance();
406     auto ret = UsbSrvClient.GetDevices(devi);
407     EXPECT_TRUE(ret == 0);
408     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::Usbcontrolstansfer008 %{public}d ret=%{public}d", __LINE__, ret);
409     EXPECT_TRUE(!(devi.empty())) << "delist NULL";
410     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::Usbcontrolstansfer008 %{public}d size=%{public}zu", __LINE__,
411                devi.size());
412     USBDevicePipe pipe;
413     UsbDevice device = devi.front();
414     UsbSrvClient.RequestRight(device.GetName());
415     UsbInterface interface = device.GetConfigs().front().GetInterfaces().front();
416     ret = UsbSrvClient.OpenDevice(device, pipe);
417     EXPECT_TRUE(ret == 0);
418     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::Usbcontrolstansfer008 %{public}d OpenDevice=%{public}d",
419                __LINE__, ret);
420     uint32_t len = BUFFER_SIZE;
421     uint8_t buffer[BUFFER_SIZE] = {0};
422     pipe.SetBusNum(BUFFER_SIZE);
423     struct UsbCtrlTransfer ctrldata = {0b10000001, 0X0A, 0, 0, 500};
424     std::vector<uint8_t> ctrlbuffer = {buffer, buffer + len};
425     ret = UsbSrvClient.ControlTransfer(pipe, ctrldata, ctrlbuffer);
426     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::Usbcontrolstansfer008 %{public}d ControlTransfer=%{public}d",
427                __LINE__, ret);
428     EXPECT_TRUE(ret != 0);
429     pipe.SetBusNum(device.GetBusNum());
430     ret = UsbSrvClient.Close(pipe);
431     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::Usbcontrolstansfer008 %{public}d Close=%{public}d", __LINE__,
432                ret);
433     EXPECT_TRUE(ret);
434     USB_HILOGI(MODULE_USB_SERVICE, "Case End : Usbcontrolstansfer008 : ControlTransfer");
435 }
436 
437 /**
438  * @tc.name: Usbcontrolstansfer009
439  * @tc.desc: Test functions to ControlTransfer
440  * @tc.type: FUNC
441  */
442 HWTEST_F(UsbDevicePipeTest, Usbcontrolstansfer009, TestSize.Level1)
443 {
444     USB_HILOGI(MODULE_USB_SERVICE, "Case Start : Usbcontrolstansfer009 : ControlTransfer");
445     vector<UsbDevice> devi;
446     auto &UsbSrvClient = UsbSrvClient::GetInstance();
447     auto ret = UsbSrvClient.GetDevices(devi);
448     EXPECT_TRUE(ret == 0);
449     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::Usbcontrolstansfer009 %{public}d ret=%{public}d", __LINE__, ret);
450     EXPECT_TRUE(!(devi.empty())) << "delist NULL";
451     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::Usbcontrolstansfer009 %{public}d size=%{public}zu", __LINE__,
452                devi.size());
453     USBDevicePipe pipe;
454     UsbDevice device = devi.front();
455     UsbSrvClient.RequestRight(device.GetName());
456     UsbInterface interface = device.GetConfigs().front().GetInterfaces().front();
457     ret = UsbSrvClient.OpenDevice(device, pipe);
458     EXPECT_TRUE(ret == 0);
459     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::Usbcontrolstansfer009 %{public}d OpenDevice=%{public}d",
460                __LINE__, ret);
461     uint32_t len = BUFFER_SIZE;
462     uint8_t buffer[BUFFER_SIZE] = {0};
463     pipe.SetDevAddr(BUFFER_SIZE);
464     struct UsbCtrlTransfer ctrldata = {0b10000001, 0X0A, 0, 0, 500};
465     std::vector<uint8_t> ctrlbuffer = {buffer, buffer + len};
466     ret = UsbSrvClient.ControlTransfer(pipe, ctrldata, ctrlbuffer);
467     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::Usbcontrolstansfer009 %{public}d ControlTransfer=%{public}d",
468                __LINE__, ret);
469     EXPECT_TRUE(ret != 0);
470     pipe.SetDevAddr(device.GetDevAddr());
471     ret = UsbSrvClient.Close(pipe);
472     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::Usbcontrolstansfer009 %{public}d Close=%{public}d", __LINE__,
473                ret);
474     EXPECT_TRUE(ret);
475     USB_HILOGI(MODULE_USB_SERVICE, "Case End : Usbcontrolstansfer009 : ControlTransfer");
476 }
477 
478 /**
479  * @tc.name: Usbcontrolstansfer010
480  * @tc.desc: Test functions to ControlTransfer
481  * @tc.type: FUNC
482  */
483 HWTEST_F(UsbDevicePipeTest, Usbcontrolstansfer010, TestSize.Level1)
484 {
485     USB_HILOGI(MODULE_USB_SERVICE, "Case Start : Usbcontrolstansfer010 : ControlTransfer");
486     vector<UsbDevice> devi;
487     auto &UsbSrvClient = UsbSrvClient::GetInstance();
488     auto ret = UsbSrvClient.GetDevices(devi);
489     EXPECT_TRUE(ret == 0);
490     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::Usbcontrolstansfer010 %{public}d ret=%{public}d", __LINE__, ret);
491     EXPECT_TRUE(!(devi.empty())) << "delist NULL";
492     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::Usbcontrolstansfer010 %{public}d size=%{public}zu", __LINE__,
493                devi.size());
494     USBDevicePipe pipe;
495     UsbDevice device = devi.front();
496     UsbSrvClient.RequestRight(device.GetName());
497     ret = UsbSrvClient.OpenDevice(device, pipe);
498     EXPECT_TRUE(ret == 0);
499     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::Usbcontrolstansfer010 %{public}d OpenDevice=%{public}d",
500                __LINE__, ret);
501     uint32_t len = BUFFER_SIZE;
502     uint8_t buffer[BUFFER_SIZE] = {0};
503     struct UsbCtrlTransfer ctrldata = {0b10000000, 0, 0, 0, 500};
504     std::vector<uint8_t> ctrlbuffer = {buffer, buffer + len};
505     ret = UsbSrvClient.ControlTransfer(pipe, ctrldata, ctrlbuffer);
506     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::Usbcontrolstansfer010 %{public}d ControlTransfer=%{public}d",
507                __LINE__, ret);
508     EXPECT_TRUE(ret == 0);
509     ret = UsbSrvClient.Close(pipe);
510     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::Usbcontrolstansfer010 %{public}d Close=%{public}d", __LINE__,
511                ret);
512     EXPECT_TRUE(ret);
513     USB_HILOGI(MODULE_USB_SERVICE, "Case End : Usbcontrolstansfer010 : ControlTransfer");
514 }
515 
516 /**
517  * @tc.name: Usbcontrolstansfer011
518  * @tc.desc: Test functions to ControlTransfer
519  * @tc.type: FUNC
520  */
521 HWTEST_F(UsbDevicePipeTest, Usbcontrolstansfer011, TestSize.Level1)
522 {
523     USB_HILOGI(MODULE_USB_SERVICE, "Case Start : Usbcontrolstansfer011 : ControlTransfer");
524     vector<UsbDevice> devi;
525     auto &UsbSrvClient = UsbSrvClient::GetInstance();
526     auto ret = UsbSrvClient.GetDevices(devi);
527     EXPECT_TRUE(ret == 0);
528     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::Usbcontrolstansfer011 %{public}d ret=%{public}d", __LINE__, ret);
529     EXPECT_TRUE(!(devi.empty())) << "delist NULL";
530     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::Usbcontrolstansfer011 %{public}d size=%{public}zu", __LINE__,
531                devi.size());
532     USBDevicePipe pipe;
533     UsbDevice device = devi.front();
534     UsbSrvClient.RequestRight(device.GetName());
535     ret = UsbSrvClient.OpenDevice(device, pipe);
536     EXPECT_TRUE(ret == 0);
537     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::Usbcontrolstansfer011 %{public}d OpenDevice=%{public}d",
538                __LINE__, ret);
539     uint32_t len = BUFFER_SIZE;
540     uint8_t buffer[BUFFER_SIZE] = {0};
541     pipe.SetBusNum(BUFFER_SIZE);
542     struct UsbCtrlTransfer ctrldata = {0b10000000, 0, 0, 0, 500};
543     std::vector<uint8_t> ctrlbuffer = {buffer, buffer + len};
544     ret = UsbSrvClient.ControlTransfer(pipe, ctrldata, ctrlbuffer);
545     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::Usbcontrolstansfer011 %{public}d ControlTransfer=%{public}d",
546                __LINE__, ret);
547     EXPECT_TRUE(ret != 0);
548     pipe.SetBusNum(device.GetBusNum());
549     ret = UsbSrvClient.Close(pipe);
550     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::Usbcontrolstansfer011 %{public}d Close=%{public}d", __LINE__,
551                ret);
552     EXPECT_TRUE(ret);
553     USB_HILOGI(MODULE_USB_SERVICE, "Case End : Usbcontrolstansfer011 : ControlTransfer");
554 }
555 
556 /**
557  * @tc.name: Usbcontrolstansfer012
558  * @tc.desc: Test functions to ControlTransfer
559  * @tc.type: FUNC
560  */
561 HWTEST_F(UsbDevicePipeTest, Usbcontrolstansfer012, TestSize.Level1)
562 {
563     USB_HILOGI(MODULE_USB_SERVICE, "Case Start : Usbcontrolstansfer012 : ControlTransfer");
564     vector<UsbDevice> devi;
565     auto &UsbSrvClient = UsbSrvClient::GetInstance();
566     auto ret = UsbSrvClient.GetDevices(devi);
567     EXPECT_TRUE(ret == 0);
568     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::Usbcontrolstansfer012 %{public}d ret=%{public}d", __LINE__, ret);
569     EXPECT_TRUE(!(devi.empty())) << "delist NULL";
570     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::Usbcontrolstansfer012 %{public}d size=%{public}zu", __LINE__,
571                devi.size());
572     USBDevicePipe pipe;
573     UsbDevice device = devi.front();
574     UsbSrvClient.RequestRight(device.GetName());
575     ret = UsbSrvClient.OpenDevice(device, pipe);
576     EXPECT_TRUE(ret == 0);
577     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::Usbcontrolstansfer012 %{public}d OpenDevice=%{public}d",
578                __LINE__, ret);
579     uint32_t len = BUFFER_SIZE;
580     uint8_t buffer[BUFFER_SIZE] = {0};
581     pipe.SetDevAddr(BUFFER_SIZE);
582     struct UsbCtrlTransfer ctrldata = {0b10000000, 0, 0, 0, 500};
583     std::vector<uint8_t> ctrlbuffer = {buffer, buffer + len};
584     ret = UsbSrvClient.ControlTransfer(pipe, ctrldata, ctrlbuffer);
585     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::Usbcontrolstansfer012 %{public}d ControlTransfer=%{public}d",
586                __LINE__, ret);
587     EXPECT_TRUE(ret != 0);
588     pipe.SetDevAddr(device.GetDevAddr());
589     ret = UsbSrvClient.Close(pipe);
590     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::Usbcontrolstansfer012 %{public}d Close=%{public}d", __LINE__,
591                ret);
592     EXPECT_TRUE(ret);
593     USB_HILOGI(MODULE_USB_SERVICE, "Case End : Usbcontrolstansfer012 : ControlTransfer");
594 }
595 
596 /**
597  * @tc.name: Usbcontrolstansfer0013
598  * @tc.desc: Test functions to ControlTransfer
599  * @tc.type: FUNC
600  */
601 HWTEST_F(UsbDevicePipeTest, Usbcontrolstansfer0013, TestSize.Level1)
602 {
603     USB_HILOGI(MODULE_USB_SERVICE, "Case Start : Usbcontrolstansfer0013 : ControlTransfer");
604     vector<UsbDevice> devi;
605     auto &UsbSrvClient = UsbSrvClient::GetInstance();
606     auto ret = UsbSrvClient.GetDevices(devi);
607     EXPECT_TRUE(ret == 0);
608     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::Usbcontrolstansfer0013 %{public}d ret=%{public}d", __LINE__,
609                ret);
610     EXPECT_TRUE(!(devi.empty())) << "delist NULL";
611     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::Usbcontrolstansfer0013 %{public}d size=%{public}zu", __LINE__,
612                devi.size());
613     USBDevicePipe pipe;
614     UsbDevice device = devi.front();
615     UsbSrvClient.RequestRight(device.GetName());
616     ret = UsbSrvClient.OpenDevice(device, pipe);
617     EXPECT_TRUE(ret == 0);
618     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::Usbcontrolstansfer0013 %{public}d OpenDevice=%{public}d",
619                __LINE__, ret);
620     uint32_t len = BUFFER_SIZE;
621     uint8_t buffer[BUFFER_SIZE] = {0};
622     struct UsbCtrlTransfer ctrldata = {0b10000001, 0, 0, 0, 500};
623     std::vector<uint8_t> ctrlbuffer = {buffer, buffer + len};
624     ret = UsbSrvClient.ControlTransfer(pipe, ctrldata, ctrlbuffer);
625     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::Usbcontrolstansfer0013 %{public}d ControlTransfer=%{public}d",
626                __LINE__, ret);
627     EXPECT_TRUE(ret == 0);
628     ret = UsbSrvClient.Close(pipe);
629     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::Usbcontrolstansfer0013 %{public}d Close=%{public}d", __LINE__,
630                ret);
631     EXPECT_TRUE(ret);
632     USB_HILOGI(MODULE_USB_SERVICE, "Case End : Usbcontrolstansfer0013 : ControlTransfer");
633 }
634 
635 /**
636  * @tc.name: Usbcontrolstansfer0014
637  * @tc.desc: Test functions to ControlTransfer
638  * @tc.type: FUNC
639  */
640 HWTEST_F(UsbDevicePipeTest, Usbcontrolstansfer0014, TestSize.Level1)
641 {
642     USB_HILOGI(MODULE_USB_SERVICE, "Case Start : Usbcontrolstansfer0014 : ControlTransfer");
643     vector<UsbDevice> devi;
644     auto &UsbSrvClient = UsbSrvClient::GetInstance();
645     auto ret = UsbSrvClient.GetDevices(devi);
646     EXPECT_TRUE(ret == 0);
647     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::Usbcontrolstansfer0014 %{public}d ret=%{public}d", __LINE__,
648                ret);
649     EXPECT_TRUE(!(devi.empty())) << "delist NULL";
650     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::Usbcontrolstansfer0014 %{public}d size=%{public}zu", __LINE__,
651                devi.size());
652     USBDevicePipe pipe;
653     UsbDevice device = devi.front();
654     UsbSrvClient.RequestRight(device.GetName());
655     ret = UsbSrvClient.OpenDevice(device, pipe);
656     EXPECT_TRUE(ret == 0);
657     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::Usbcontrolstansfer0014 %{public}d OpenDevice=%{public}d",
658                __LINE__, ret);
659     uint32_t len = BUFFER_SIZE;
660     uint8_t buffer[BUFFER_SIZE] = {0};
661     pipe.SetBusNum(BUFFER_SIZE);
662     struct UsbCtrlTransfer ctrldata = {0b10000001, 0, 0, 0, 500};
663     std::vector<uint8_t> ctrlbuffer = {buffer, buffer + len};
664     ret = UsbSrvClient.ControlTransfer(pipe, ctrldata, ctrlbuffer);
665     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::Usbcontrolstansfer0014 %{public}d ControlTransfer=%{public}d",
666                __LINE__, ret);
667     EXPECT_TRUE(ret != 0);
668     pipe.SetBusNum(device.GetBusNum());
669     ret = UsbSrvClient.Close(pipe);
670     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::Usbcontrolstansfer0014 %{public}d Close=%{public}d", __LINE__,
671                ret);
672     EXPECT_TRUE(ret);
673     USB_HILOGI(MODULE_USB_SERVICE, "Case End : Usbcontrolstansfer0014 : ControlTransfer");
674 }
675 
676 /**
677  * @tc.name: Usbcontrolstansfer0015
678  * @tc.desc: Test functions to ControlTransfer
679  * @tc.type: FUNC
680  */
681 HWTEST_F(UsbDevicePipeTest, Usbcontrolstansfer0015, TestSize.Level1)
682 {
683     USB_HILOGI(MODULE_USB_SERVICE, "Case Start : Usbcontrolstansfer0015 : ControlTransfer");
684     vector<UsbDevice> devi;
685     auto &UsbSrvClient = UsbSrvClient::GetInstance();
686     auto ret = UsbSrvClient.GetDevices(devi);
687     EXPECT_TRUE(ret == 0);
688     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::Usbcontrolstansfer0015 %{public}d ret=%{public}d", __LINE__,
689                ret);
690     EXPECT_TRUE(!(devi.empty())) << "delist NULL";
691     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::Usbcontrolstansfer0015 %{public}d size=%{public}zu", __LINE__,
692                devi.size());
693     USBDevicePipe pipe;
694     UsbDevice device = devi.front();
695     UsbSrvClient.RequestRight(device.GetName());
696     ret = UsbSrvClient.OpenDevice(device, pipe);
697     EXPECT_TRUE(ret == 0);
698     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::Usbcontrolstansfer0015 %{public}d OpenDevice=%{public}d",
699                __LINE__, ret);
700     uint32_t len = BUFFER_SIZE;
701     uint8_t buffer[BUFFER_SIZE] = {0};
702     pipe.SetDevAddr(BUFFER_SIZE);
703     struct UsbCtrlTransfer ctrldata = {0b10000001, 0, 0, 0, 500};
704     std::vector<uint8_t> ctrlbuffer = {buffer, buffer + len};
705     ret = UsbSrvClient.ControlTransfer(pipe, ctrldata, ctrlbuffer);
706     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::Usbcontrolstansfer0015 %{public}d ControlTransfer=%{public}d",
707                __LINE__, ret);
708     EXPECT_TRUE(ret != 0);
709     pipe.SetDevAddr(device.GetDevAddr());
710     ret = UsbSrvClient.Close(pipe);
711     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::Usbcontrolstansfer0015 %{public}d Close=%{public}d", __LINE__,
712                ret);
713     EXPECT_TRUE(ret);
714     USB_HILOGI(MODULE_USB_SERVICE, "Case End : Usbcontrolstansfer0015 : ControlTransfer");
715 }
716 
717 /**
718  * @tc.name: Usbcontrolstansfer016
719  * @tc.desc: Test functions to ControlTransfer
720  * @tc.type: FUNC
721  */
722 HWTEST_F(UsbDevicePipeTest, Usbcontrolstansfer016, TestSize.Level1)
723 {
724     USB_HILOGI(MODULE_USB_SERVICE, "Case Start : Usbcontrolstansfer016 : ControlTransfer");
725     vector<UsbDevice> devi;
726     auto &UsbSrvClient = UsbSrvClient::GetInstance();
727     auto ret = UsbSrvClient.GetDevices(devi);
728     EXPECT_TRUE(ret == 0);
729     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::Usbcontrolstansfer016 %{public}d ret=%{public}d", __LINE__, ret);
730     EXPECT_TRUE(!(devi.empty())) << "delist NULL";
731     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::Usbcontrolstansfer016 %{public}d size=%{public}zu", __LINE__,
732                devi.size());
733     USBDevicePipe pipe;
734     UsbDevice device = devi.front();
735     UsbSrvClient.RequestRight(device.GetName());
736     ret = UsbSrvClient.OpenDevice(device, pipe);
737     EXPECT_TRUE(ret == 0);
738     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::Usbcontrolstansfer016 %{public}d OpenDevice=%{public}d",
739                __LINE__, ret);
740     uint32_t len = 16;
741     uint8_t buffer[BUFFER_SIZE] = {0};
742     struct UsbCtrlTransfer ctrldata = {0b10000010, 0, 0, 0, 500};
743     std::vector<uint8_t> ctrlbuffer = {buffer, buffer + len};
744     ret = UsbSrvClient.ControlTransfer(pipe, ctrldata, ctrlbuffer);
745     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::Usbcontrolstansfer016 %{public}d ControlTransfer=%{public}d",
746                __LINE__, ret);
747     EXPECT_TRUE(ret == 0);
748     ret = UsbSrvClient.Close(pipe);
749     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::Usbcontrolstansfer016 %{public}d Close=%{public}d", __LINE__,
750                ret);
751     EXPECT_TRUE(ret);
752     USB_HILOGI(MODULE_USB_SERVICE, "Case End : Usbcontrolstansfer016 : ControlTransfer");
753 }
754 
755 /**
756  * @tc.name: Usbcontrolstansfer017
757  * @tc.desc: Test functions to ControlTransfer
758  * @tc.type: FUNC
759  */
760 HWTEST_F(UsbDevicePipeTest, Usbcontrolstansfer017, TestSize.Level1)
761 {
762     USB_HILOGI(MODULE_USB_SERVICE, "Case Start : Usbcontrolstansfer017 : ControlTransfer");
763     vector<UsbDevice> devi;
764     auto &UsbSrvClient = UsbSrvClient::GetInstance();
765     auto ret = UsbSrvClient.GetDevices(devi);
766     EXPECT_TRUE(ret == 0);
767     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::Usbcontrolstansfer017 %{public}d ret=%{public}d", __LINE__, ret);
768     EXPECT_TRUE(!(devi.empty())) << "delist NULL";
769     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::Usbcontrolstansfer017 %{public}d size=%{public}zu", __LINE__,
770                devi.size());
771     USBDevicePipe pipe;
772     UsbDevice device = devi.front();
773     UsbSrvClient.RequestRight(device.GetName());
774     ret = UsbSrvClient.OpenDevice(device, pipe);
775     EXPECT_TRUE(ret == 0);
776     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::Usbcontrolstansfer017 %{public}d OpenDevice=%{public}d",
777                __LINE__, ret);
778     uint32_t len = 16;
779     uint8_t buffer[BUFFER_SIZE] = {0};
780     pipe.SetBusNum(BUFFER_SIZE);
781     struct UsbCtrlTransfer ctrldata = {0b10000010, 0, 0, 0, 500};
782     std::vector<uint8_t> ctrlbuffer = {buffer, buffer + len};
783     ret = UsbSrvClient.ControlTransfer(pipe, ctrldata, ctrlbuffer);
784     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::Usbcontrolstansfer017 %{public}d ControlTransfer=%{public}d",
785                __LINE__, ret);
786     EXPECT_TRUE(ret != 0);
787     pipe.SetBusNum(device.GetBusNum());
788     ret = UsbSrvClient.Close(pipe);
789     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::Usbcontrolstansfer017 %{public}d Close=%{public}d", __LINE__,
790                ret);
791     EXPECT_TRUE(ret);
792     USB_HILOGI(MODULE_USB_SERVICE, "Case End : Usbcontrolstansfer017 : ControlTransfer");
793 }
794 
795 /**
796  * @tc.name: Usbcontrolstansfer018
797  * @tc.desc: Test functions to ControlTransfer
798  * @tc.type: FUNC
799  */
800 HWTEST_F(UsbDevicePipeTest, Usbcontrolstansfer018, TestSize.Level1)
801 {
802     USB_HILOGI(MODULE_USB_SERVICE, "Case Start : Usbcontrolstansfer018 : ControlTransfer");
803     vector<UsbDevice> devi;
804     auto &UsbSrvClient = UsbSrvClient::GetInstance();
805     auto ret = UsbSrvClient.GetDevices(devi);
806     EXPECT_TRUE(ret == 0);
807     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::Usbcontrolstansfer018 %{public}d ret=%{public}d", __LINE__, ret);
808     EXPECT_TRUE(!(devi.empty())) << "delist NULL";
809     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::Usbcontrolstansfer018 %{public}d size=%{public}zu", __LINE__,
810                devi.size());
811     USBDevicePipe pipe;
812     UsbDevice device = devi.front();
813     UsbSrvClient.RequestRight(device.GetName());
814     ret = UsbSrvClient.OpenDevice(device, pipe);
815     EXPECT_TRUE(ret == 0);
816     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::Usbcontrolstansfer018 %{public}d OpenDevice=%{public}d",
817                __LINE__, ret);
818     uint32_t len = 16;
819     uint8_t buffer[BUFFER_SIZE] = {0};
820     pipe.SetDevAddr(BUFFER_SIZE);
821     struct UsbCtrlTransfer ctrldata = {0b10000010, 0, 0, 0, 500};
822     std::vector<uint8_t> ctrlbuffer = {buffer, buffer + len};
823     ret = UsbSrvClient.ControlTransfer(pipe, ctrldata, ctrlbuffer);
824     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::Usbcontrolstansfer018 %{public}d ControlTransfer=%{public}d",
825                __LINE__, ret);
826     EXPECT_TRUE(ret != 0);
827     pipe.SetDevAddr(device.GetDevAddr());
828     ret = UsbSrvClient.Close(pipe);
829     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::Usbcontrolstansfer018 %{public}d Close=%{public}d", __LINE__,
830                ret);
831     EXPECT_TRUE(ret);
832     USB_HILOGI(MODULE_USB_SERVICE, "Case End : Usbcontrolstansfer018 : ControlTransfer");
833 }
834 
835 /**
836  * @tc.name: Usbcontrolstansfer019
837  * @tc.desc: Test functions to ControlTransfer
838  * @tc.type: FUNC
839  */
840 HWTEST_F(UsbDevicePipeTest, Usbcontrolstansfer019, TestSize.Level1)
841 {
842     USB_HILOGI(MODULE_USB_SERVICE, "Case Start : Usbcontrolstansfer019 : ControlTransfer");
843     vector<UsbDevice> devi;
844     auto &UsbSrvClient = UsbSrvClient::GetInstance();
845     auto ret = UsbSrvClient.GetDevices(devi);
846     EXPECT_TRUE(ret == 0);
847     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::Usbcontrolstansfer019 %{public}d ret=%{public}d", __LINE__, ret);
848     EXPECT_TRUE(!(devi.empty())) << "delist NULL";
849     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::Usbcontrolstansfer019 %{public}d size=%{public}zu", __LINE__,
850                devi.size());
851     USBDevicePipe pipe;
852     UsbDevice device = devi.front();
853     UsbSrvClient.RequestRight(device.GetName());
854     ret = UsbSrvClient.OpenDevice(device, pipe);
855     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::Usbcontrolstansfer019 %{public}d OpenDevice=%{public}d",
856                __LINE__, ret);
857     EXPECT_TRUE(ret == 0);
858     uint32_t len = BUFFER_SIZE;
859     uint8_t buffer[BUFFER_SIZE] = {0};
860     struct UsbCtrlTransfer ctrldata = {0b10000010, 0X0C, 0, 0, 500};
861     std::vector<uint8_t> ctrlbuffer = {buffer, buffer + len};
862     ret = UsbSrvClient.ControlTransfer(pipe, ctrldata, ctrlbuffer);
863     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::Usbcontrolstansfer019 %{public}d ControlTransfer=%{public}d",
864                __LINE__, ret);
865     EXPECT_TRUE(ret == 0);
866     ret = UsbSrvClient.Close(pipe);
867     USB_HILOGI(MODULE_USB_SERVICE, "UsbCoreTest::Close=%{public}d", ret);
868     EXPECT_TRUE(ret);
869     USB_HILOGI(MODULE_USB_SERVICE, "Case End : Usbcontrolstansfer019 : ControlTransfer");
870 }
871 
872 /**
873  * @tc.name: Usbcontrolstansfer020
874  * @tc.desc: Test functions to ControlTransfer
875  * @tc.type: FUNC
876  */
877 HWTEST_F(UsbDevicePipeTest, Usbcontrolstansfer020, TestSize.Level1)
878 {
879     USB_HILOGI(MODULE_USB_SERVICE, "Case Start : Usbcontrolstansfer020 : ControlTransfer");
880     vector<UsbDevice> devi;
881     auto &UsbSrvClient = UsbSrvClient::GetInstance();
882     auto ret = UsbSrvClient.GetDevices(devi);
883     EXPECT_TRUE(ret == 0);
884     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::Usbcontrolstansfer020 %{public}d ret=%{public}d", __LINE__, ret);
885     EXPECT_TRUE(!(devi.empty())) << "delist NULL";
886     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::Usbcontrolstansfer020 %{public}d size=%{public}zu", __LINE__,
887                devi.size());
888     USBDevicePipe pipe;
889     UsbDevice device = devi.front();
890     UsbSrvClient.RequestRight(device.GetName());
891     ret = UsbSrvClient.OpenDevice(device, pipe);
892     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::Usbcontrolstansfer020 %{public}d OpenDevice=%{public}d",
893                __LINE__, ret);
894     EXPECT_TRUE(ret == 0);
895     uint32_t len = BUFFER_SIZE;
896     uint8_t buffer[BUFFER_SIZE] = {0};
897     pipe.SetBusNum(BUFFER_SIZE);
898     struct UsbCtrlTransfer ctrldata = {0b10000010, 0X0C, 0, 0, 500};
899     std::vector<uint8_t> ctrlbuffer = {buffer, buffer + len};
900     ret = UsbSrvClient.ControlTransfer(pipe, ctrldata, ctrlbuffer);
901     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::Usbcontrolstansfer020 %{public}d ControlTransfer=%{public}d",
902                __LINE__, ret);
903     EXPECT_TRUE(ret != 0);
904     pipe.SetBusNum(device.GetBusNum());
905     ret = UsbSrvClient.Close(pipe);
906     USB_HILOGI(MODULE_USB_SERVICE, "UsbCoreTest::Close=%{public}d", ret);
907     EXPECT_TRUE(ret);
908     USB_HILOGI(MODULE_USB_SERVICE, "Case End : Usbcontrolstansfer020 : ControlTransfer");
909 }
910 
911 /**
912  * @tc.name: Usbcontrolstansfer021
913  * @tc.desc: Test functions to ControlTransfer
914  * @tc.type: FUNC
915  */
916 HWTEST_F(UsbDevicePipeTest, Usbcontrolstansfer021, TestSize.Level1)
917 {
918     USB_HILOGI(MODULE_USB_SERVICE, "Case Start : Usbcontrolstansfer021 : ControlTransfer");
919     vector<UsbDevice> devi;
920     auto &UsbSrvClient = UsbSrvClient::GetInstance();
921     auto ret = UsbSrvClient.GetDevices(devi);
922     EXPECT_TRUE(ret == 0);
923     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::Usbcontrolstansfer021 %{public}d ret=%{public}d", __LINE__, ret);
924     EXPECT_TRUE(!(devi.empty())) << "delist NULL";
925     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::Usbcontrolstansfer021 %{public}d size=%{public}zu", __LINE__,
926                devi.size());
927     USBDevicePipe pipe;
928     UsbDevice device = devi.front();
929     UsbSrvClient.RequestRight(device.GetName());
930     ret = UsbSrvClient.OpenDevice(device, pipe);
931     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::Usbcontrolstansfer021 %{public}d OpenDevice=%{public}d",
932                __LINE__, ret);
933     EXPECT_TRUE(ret == 0);
934     uint32_t len = BUFFER_SIZE;
935     uint8_t buffer[BUFFER_SIZE] = {0};
936     pipe.SetDevAddr(BUFFER_SIZE);
937     struct UsbCtrlTransfer ctrldata = {0b10000010, 0X0C, 0, 0, 500};
938     std::vector<uint8_t> ctrlbuffer = {buffer, buffer + len};
939     ret = UsbSrvClient.ControlTransfer(pipe, ctrldata, ctrlbuffer);
940     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::Usbcontrolstansfer021 %{public}d ControlTransfer=%{public}d",
941                __LINE__, ret);
942     EXPECT_TRUE(ret != 0);
943     pipe.SetDevAddr(device.GetDevAddr());
944     ret = UsbSrvClient.Close(pipe);
945     USB_HILOGI(MODULE_USB_SERVICE, "UsbCoreTest::Close=%{public}d", ret);
946     EXPECT_TRUE(ret);
947     USB_HILOGI(MODULE_USB_SERVICE, "Case End : Usbcontrolstansfer021 : ControlTransfer");
948 }
949 
950 /**
951  * @tc.name: UsbClaimInterface001
952  * @tc.desc: Test functions to ClaimInterface(const UsbInterface &interface, bool force);
953  * @tc.type: FUNC
954  */
955 HWTEST_F(UsbDevicePipeTest, UsbClaimInterface001, TestSize.Level1)
956 {
957     USB_HILOGI(MODULE_USB_SERVICE, "Case Start : UsbClaimInterface001 : ClaimInterface");
958     vector<UsbDevice> devi;
959     auto &UsbSrvClient = UsbSrvClient::GetInstance();
960     auto ret = UsbSrvClient.GetDevices(devi);
961     EXPECT_TRUE(ret == 0);
962     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::UsbClaimInterface001 %{public}d ret=%{public}d", __LINE__, ret);
963     EXPECT_TRUE(!(devi.empty())) << "delist NULL";
964     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::UsbClaimInterface001 %{public}d size=%{public}zu", __LINE__,
965                devi.size());
966     USBDevicePipe pipe;
967     UsbDevice device = devi.front();
968     UsbSrvClient.RequestRight(device.GetName());
969     ret = UsbSrvClient.OpenDevice(device, pipe);
970     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::UsbClaimInterface001 %{public}d OpenDevice=%{public}d", __LINE__,
971                ret);
972     EXPECT_TRUE(ret == 0);
973     UsbInterface interface = devi.front().GetConfigs().front().GetInterfaces().front();
974     ret = UsbSrvClient.ClaimInterface(pipe, interface, true);
975     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::UsbClaimInterface001 %{public}d ClaimInterface=%{public}d",
976                __LINE__, ret);
977     EXPECT_TRUE(ret == 0);
978     bool close = UsbSrvClient.Close(pipe);
979     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::UsbClaimInterface001 %{public}d close=%{public}d", __LINE__,
980                close);
981     EXPECT_TRUE(close);
982     USB_HILOGI(MODULE_USB_SERVICE, "Case End : UsbClaimInterface001 : ClaimInterface");
983 }
984 
985 /**
986  * @tc.name: UsbClaimInterface002
987  * @tc.desc: Test functions to ClaimInterface(const UsbInterface &interface, bool force);
988  * @tc.type: FUNC
989  */
990 HWTEST_F(UsbDevicePipeTest, UsbClaimInterface002, TestSize.Level1)
991 {
992     USB_HILOGI(MODULE_USB_SERVICE, "Case Start : UsbClaimInterface002 : ClaimInterface");
993     vector<UsbDevice> devi;
994     auto &UsbSrvClient = UsbSrvClient::GetInstance();
995     auto ret = UsbSrvClient.GetDevices(devi);
996     EXPECT_TRUE(ret == 0);
997     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::UsbClaimInterface002 %{public}d ret=%{public}d", __LINE__, ret);
998     EXPECT_TRUE(!(devi.empty())) << "delist NULL";
999     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::UsbClaimInterface002 %{public}d size=%{public}zu", __LINE__,
1000                devi.size());
1001     USBDevicePipe pipe;
1002     UsbDevice device = devi.front();
1003     UsbSrvClient.RequestRight(device.GetName());
1004     ret = UsbSrvClient.OpenDevice(device, pipe);
1005     EXPECT_TRUE(ret == 0);
1006     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::UsbClaimInterface002 %{public}d OpenDevice=%{public}d", __LINE__,
1007                ret);
1008     UsbInterface interface = devi.front().GetConfigs().front().GetInterfaces().front();
1009     ret = UsbSrvClient.ClaimInterface(pipe, interface, false);
1010     EXPECT_TRUE(ret == 0);
1011     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::UsbClaimInterface002 %{public}d ClaimInterface=%{public}d",
1012                __LINE__, ret);
1013     bool close = UsbSrvClient.Close(pipe);
1014     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::UsbClaimInterface002 %{public}d close=%{public}d", __LINE__,
1015                close);
1016     EXPECT_TRUE(close);
1017     USB_HILOGI(MODULE_USB_SERVICE, "Case End : UsbClaimInterface002 : ClaimInterface");
1018 }
1019 
1020 /**
1021  * @tc.name: UsbClaimInterface003
1022  * @tc.desc: Test functions to ClaimInterface(const UsbInterface &interface, bool force);
1023  * @tc.type: FUNC
1024  */
1025 HWTEST_F(UsbDevicePipeTest, UsbClaimInterface003, TestSize.Level1)
1026 {
1027     USB_HILOGI(MODULE_USB_SERVICE, "Case Start : UsbClaimInterface003 : ClaimInterface");
1028     vector<UsbDevice> devi;
1029     auto &UsbSrvClient = UsbSrvClient::GetInstance();
1030     auto ret = UsbSrvClient.GetDevices(devi);
1031     EXPECT_TRUE(ret == 0);
1032     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::UsbClaimInterface003 %{public}d ret=%{public}d", __LINE__, ret);
1033     EXPECT_TRUE(!(devi.empty())) << "delist NULL";
1034     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::UsbClaimInterface003 %{public}d size=%{public}zu", __LINE__,
1035                devi.size());
1036     USBDevicePipe pipe;
1037     UsbDevice device = devi.front();
1038     UsbSrvClient.RequestRight(device.GetName());
1039     ret = UsbSrvClient.OpenDevice(device, pipe);
1040     EXPECT_TRUE(ret == 0);
1041     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::UsbClaimInterface003 %{public}d OpenDevice=%{public}d", __LINE__,
1042                ret);
1043     UsbInterface interface = devi.front().GetConfigs().front().GetInterfaces().at(1);
1044     ret = UsbSrvClient.ClaimInterface(pipe, interface, true);
1045     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::UsbClaimInterface003 %{public}d ClaimInterface=%{public}d",
1046                __LINE__, ret);
1047     EXPECT_TRUE(ret == 0);
1048     bool close = UsbSrvClient.Close(pipe);
1049     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::UsbClaimInterface003 %{public}d close=%{public}d", __LINE__,
1050                close);
1051     EXPECT_TRUE(close);
1052     USB_HILOGI(MODULE_USB_SERVICE, "Case End : UsbClaimInterface003 : ClaimInterface");
1053 }
1054 
1055 /**
1056  * @tc.name: UsbClaimInterface004
1057  * @tc.desc: Test functions to ClaimInterface(const UsbInterface &interface, bool force);
1058  * @tc.type: FUNC
1059  */
1060 HWTEST_F(UsbDevicePipeTest, UsbClaimInterface004, TestSize.Level1)
1061 {
1062     USB_HILOGI(MODULE_USB_SERVICE, "Case Start : UsbClaimInterface004 : ClaimInterface");
1063     vector<UsbDevice> devi;
1064     auto &UsbSrvClient = UsbSrvClient::GetInstance();
1065     auto ret = UsbSrvClient.GetDevices(devi);
1066     EXPECT_TRUE(ret == 0);
1067     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::UsbClaimInterface004 %{public}d ret=%{public}d", __LINE__, ret);
1068     EXPECT_TRUE(!(devi.empty())) << "delist NULL";
1069     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::UsbClaimInterface004 %{public}d size=%{public}zu", __LINE__,
1070                devi.size());
1071     USBDevicePipe pipe;
1072     UsbDevice device = devi.front();
1073     UsbSrvClient.RequestRight(device.GetName());
1074     ret = UsbSrvClient.OpenDevice(device, pipe);
1075     EXPECT_TRUE(ret == 0);
1076     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::UsbClaimInterface004 %{public}d OpenDevice=%{public}d", __LINE__,
1077                ret);
1078     UsbInterface interface = devi.front().GetConfigs().front().GetInterfaces().at(1);
1079     ret = UsbSrvClient.ClaimInterface(pipe, interface, false);
1080     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::UsbClaimInterface004 %{public}d ClaimInterface=%{public}d",
1081                __LINE__, ret);
1082     EXPECT_TRUE(ret == 0);
1083     bool close = UsbSrvClient.Close(pipe);
1084     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::UsbClaimInterface004 %{public}d close=%{public}d", __LINE__,
1085                close);
1086     EXPECT_TRUE(close);
1087     USB_HILOGI(MODULE_USB_SERVICE, "Case Start : UsbClaimInterface004 : ClaimInterface");
1088 }
1089 
1090 /**
1091  * @tc.name: UsbClaimInterface005
1092  * @tc.desc: Test functions to ClaimInterface(const UsbInterface &interface, bool force);
1093  * @tc.type: FUNC
1094  */
1095 HWTEST_F(UsbDevicePipeTest, UsbClaimInterface005, TestSize.Level1)
1096 {
1097     USB_HILOGI(MODULE_USB_SERVICE, "Case Start : UsbClaimInterface005 : ClaimInterface");
1098     vector<UsbDevice> devi;
1099     auto &UsbSrvClient = UsbSrvClient::GetInstance();
1100     auto ret = UsbSrvClient.GetDevices(devi);
1101     EXPECT_TRUE(ret == 0);
1102     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::UsbClaimInterface005 %{public}d ret=%{public}d", __LINE__, ret);
1103     EXPECT_TRUE(!(devi.empty())) << "delist NULL";
1104     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::UsbClaimInterface005 %{public}d size=%{public}zu", __LINE__,
1105                devi.size());
1106     USBDevicePipe pipe;
1107     UsbDevice device = devi.front();
1108     UsbSrvClient.RequestRight(device.GetName());
1109     ret = UsbSrvClient.OpenDevice(device, pipe);
1110     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::UsbClaimInterface005 %{public}d OpenDevice=%{public}d", __LINE__,
1111                ret);
1112     EXPECT_TRUE(ret == 0);
1113     UsbInterface interface = devi.front().GetConfigs().front().GetInterfaces().front();
1114     pipe.SetBusNum(BUFFER_SIZE);
1115     ret = UsbSrvClient.ClaimInterface(pipe, interface, true);
1116     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::UsbClaimInterface005 %{public}d ClaimInterface=%{public}d",
1117                __LINE__, ret);
1118     EXPECT_TRUE(ret != 0);
1119     pipe.SetBusNum(device.GetBusNum());
1120     bool close = UsbSrvClient.Close(pipe);
1121     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::UsbClaimInterface005 %{public}d close=%{public}d", __LINE__,
1122                close);
1123     EXPECT_TRUE(close);
1124     USB_HILOGI(MODULE_USB_SERVICE, "Case End : UsbClaimInterface005 : ClaimInterface");
1125 }
1126 
1127 /**
1128  * @tc.name: UsbClaimInterface006
1129  * @tc.desc: Test functions to ClaimInterface(const UsbInterface &interface, bool force);
1130  * @tc.type: FUNC
1131  */
1132 HWTEST_F(UsbDevicePipeTest, UsbClaimInterface006, TestSize.Level1)
1133 {
1134     USB_HILOGI(MODULE_USB_SERVICE, "Case Start : UsbClaimInterface006 : ClaimInterface");
1135     vector<UsbDevice> devi;
1136     auto &UsbSrvClient = UsbSrvClient::GetInstance();
1137     auto ret = UsbSrvClient.GetDevices(devi);
1138     EXPECT_TRUE(ret == 0);
1139     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::UsbClaimInterface006 %{public}d ret=%{public}d", __LINE__, ret);
1140     EXPECT_TRUE(!(devi.empty())) << "delist NULL";
1141     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::UsbClaimInterface006 %{public}d size=%{public}zu", __LINE__,
1142                devi.size());
1143     USBDevicePipe pipe;
1144     UsbDevice device = devi.front();
1145     UsbSrvClient.RequestRight(device.GetName());
1146     ret = UsbSrvClient.OpenDevice(device, pipe);
1147     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::UsbClaimInterface006 %{public}d OpenDevice=%{public}d", __LINE__,
1148                ret);
1149     EXPECT_TRUE(ret == 0);
1150     UsbInterface interface = devi.front().GetConfigs().front().GetInterfaces().front();
1151     pipe.SetDevAddr(BUFFER_SIZE);
1152     ret = UsbSrvClient.ClaimInterface(pipe, interface, true);
1153     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::UsbClaimInterface006 %{public}d ClaimInterface=%{public}d",
1154                __LINE__, ret);
1155     EXPECT_TRUE(ret != 0);
1156     pipe.SetDevAddr(device.GetDevAddr());
1157     bool close = UsbSrvClient.Close(pipe);
1158     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::UsbClaimInterface006 %{public}d close=%{public}d", __LINE__,
1159                close);
1160     EXPECT_TRUE(close);
1161     USB_HILOGI(MODULE_USB_SERVICE, "Case End : UsbClaimInterface006 : ClaimInterface");
1162 }
1163 
1164 /**
1165  * @tc.name: UsbClaimInterface007
1166  * @tc.desc: Test functions to ClaimInterface(const UsbInterface &interface, bool force);
1167  * @tc.type: FUNC
1168  */
1169 HWTEST_F(UsbDevicePipeTest, UsbClaimInterface007, TestSize.Level1)
1170 {
1171     USB_HILOGI(MODULE_USB_SERVICE, "Case Start : UsbClaimInterface007 : ClaimInterface");
1172     vector<UsbDevice> devi;
1173     auto &UsbSrvClient = UsbSrvClient::GetInstance();
1174     auto ret = UsbSrvClient.GetDevices(devi);
1175     EXPECT_TRUE(ret == 0);
1176     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::UsbClaimInterface007 %{public}d ret=%{public}d", __LINE__, ret);
1177     EXPECT_TRUE(!(devi.empty())) << "delist NULL";
1178     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::UsbClaimInterface007 %{public}d size=%{public}zu", __LINE__,
1179                devi.size());
1180     USBDevicePipe pipe;
1181     UsbDevice device = devi.front();
1182     UsbSrvClient.RequestRight(device.GetName());
1183     ret = UsbSrvClient.OpenDevice(device, pipe);
1184     EXPECT_TRUE(ret == 0);
1185     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::UsbClaimInterface007 %{public}d OpenDevice=%{public}d", __LINE__,
1186                ret);
1187     UsbInterface interface = devi.front().GetConfigs().front().GetInterfaces().at(1);
1188     pipe.SetBusNum(BUFFER_SIZE);
1189     ret = UsbSrvClient.ClaimInterface(pipe, interface, true);
1190     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::UsbClaimInterface007 %{public}d ClaimInterface=%{public}d",
1191                __LINE__, ret);
1192     EXPECT_TRUE(ret != 0);
1193     pipe.SetBusNum(device.GetBusNum());
1194     bool close = UsbSrvClient.Close(pipe);
1195     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::UsbClaimInterface007 %{public}d close=%{public}d", __LINE__,
1196                close);
1197     EXPECT_TRUE(close);
1198     USB_HILOGI(MODULE_USB_SERVICE, "Case End : UsbClaimInterface007 : ClaimInterface");
1199 }
1200 
1201 /**
1202  * @tc.name: UsbClaimInterface008
1203  * @tc.desc: Test functions to ClaimInterface(const UsbInterface &interface, bool force);
1204  * @tc.type: FUNC
1205  */
1206 HWTEST_F(UsbDevicePipeTest, UsbClaimInterface008, TestSize.Level1)
1207 {
1208     USB_HILOGI(MODULE_USB_SERVICE, "Case Start : UsbClaimInterface008 : ClaimInterface");
1209     vector<UsbDevice> devi;
1210     auto &UsbSrvClient = UsbSrvClient::GetInstance();
1211     auto ret = UsbSrvClient.GetDevices(devi);
1212     EXPECT_TRUE(ret == 0);
1213     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::UsbClaimInterface008 %{public}d ret=%{public}d", __LINE__, ret);
1214     EXPECT_TRUE(!(devi.empty())) << "delist NULL";
1215     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::UsbClaimInterface008 %{public}d size=%{public}zu", __LINE__,
1216                devi.size());
1217     USBDevicePipe pipe;
1218     UsbDevice device = devi.front();
1219     UsbSrvClient.RequestRight(device.GetName());
1220     ret = UsbSrvClient.OpenDevice(device, pipe);
1221     EXPECT_TRUE(ret == 0);
1222     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::UsbClaimInterface008 %{public}d OpenDevice=%{public}d", __LINE__,
1223                ret);
1224     UsbInterface interface = devi.front().GetConfigs().front().GetInterfaces().at(1);
1225     pipe.SetDevAddr(BUFFER_SIZE);
1226     ret = UsbSrvClient.ClaimInterface(pipe, interface, true);
1227     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::UsbClaimInterface008 %{public}d ClaimInterface=%{public}d",
1228                __LINE__, ret);
1229     EXPECT_TRUE(ret != 0);
1230     pipe.SetDevAddr(device.GetDevAddr());
1231     bool close = UsbSrvClient.Close(pipe);
1232     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::UsbClaimInterface008 %{public}d close=%{public}d", __LINE__,
1233                close);
1234     EXPECT_TRUE(close);
1235     USB_HILOGI(MODULE_USB_SERVICE, "Case End : UsbClaimInterface008 : ClaimInterface");
1236 }
1237 
1238 /**
1239  * @tc.name: UsbReleaseInterface001
1240  * @tc.desc: Test functions to ReleaseInterface(const UsbInterface &interface);
1241  * @tc.type: FUNC
1242  */
1243 HWTEST_F(UsbDevicePipeTest, UsbReleaseInterface001, TestSize.Level1)
1244 {
1245     USB_HILOGI(MODULE_USB_SERVICE, "Case Start : UsbReleaseInterface001 : ReleaseInterface");
1246     vector<UsbDevice> devi;
1247     auto &UsbSrvClient = UsbSrvClient::GetInstance();
1248     auto ret = UsbSrvClient.GetDevices(devi);
1249     EXPECT_TRUE(ret == 0);
1250     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::UsbReleaseInterface001 %{public}d ret=%{public}d", __LINE__,
1251                ret);
1252     EXPECT_TRUE(!(devi.empty())) << "delist NULL";
1253     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::UsbReleaseInterface001 %{public}d size=%{public}zu", __LINE__,
1254                devi.size());
1255     USBDevicePipe pipe;
1256     UsbDevice device = devi.front();
1257     UsbSrvClient.RequestRight(device.GetName());
1258     UsbInterface interface = device.GetConfigs().front().GetInterfaces().at(0);
1259     ret = UsbSrvClient.OpenDevice(device, pipe);
1260     EXPECT_TRUE(ret == 0);
1261     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::UsbReleaseInterface001 %{public}d OpenDevice=%{public}d",
1262                __LINE__, ret);
1263     ret = UsbSrvClient.ReleaseInterface(pipe, interface);
1264     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::UsbReleaseInterface001 %{public}d ReleaseInterface=%{public}d",
1265                __LINE__, ret);
1266     EXPECT_TRUE(ret == 0);
1267     bool close = UsbSrvClient.Close(pipe);
1268     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::UsbReleaseInterface001 %{public}d close=%{public}d", __LINE__,
1269                close);
1270     EXPECT_TRUE(close);
1271     USB_HILOGI(MODULE_USB_SERVICE, "Case End : UsbReleaseInterface001 : ReleaseInterface");
1272 }
1273 
1274 /**
1275  * @tc.name: UsbReleaseInterface002
1276  * @tc.desc: Test functions to ReleaseInterface(const UsbInterface &interface);
1277  * @tc.type: FUNC
1278  */
1279 HWTEST_F(UsbDevicePipeTest, UsbReleaseInterface002, TestSize.Level1)
1280 {
1281     USB_HILOGI(MODULE_USB_SERVICE, "Case Start : UsbReleaseInterface002 : ReleaseInterface");
1282     vector<UsbDevice> devi;
1283     auto &UsbSrvClient = UsbSrvClient::GetInstance();
1284     auto ret = UsbSrvClient.GetDevices(devi);
1285     EXPECT_TRUE(ret == 0);
1286     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::UsbReleaseInterface002 %{public}d ret=%{public}d", __LINE__,
1287                ret);
1288     EXPECT_TRUE(!(devi.empty())) << "delist NULL";
1289     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::UsbReleaseInterface002 %{public}d size=%{public}zu", __LINE__,
1290                devi.size());
1291     USBDevicePipe pipe;
1292     UsbDevice device = devi.front();
1293     UsbSrvClient.RequestRight(device.GetName());
1294     UsbInterface interface = device.GetConfigs().front().GetInterfaces().at(0);
1295     ret = UsbSrvClient.OpenDevice(device, pipe);
1296     EXPECT_TRUE(ret == 0);
1297     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::UsbReleaseInterface002 %{public}d OpenDevice=%{public}d",
1298                __LINE__, ret);
1299     pipe.SetBusNum(BUFFER_SIZE);
1300     ret = UsbSrvClient.ReleaseInterface(pipe, interface);
1301     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::UsbReleaseInterface002 %{public}d ReleaseInterface=%{public}d",
1302                __LINE__, ret);
1303     EXPECT_TRUE(ret != 0);
1304     pipe.SetBusNum(device.GetBusNum());
1305     bool close = UsbSrvClient.Close(pipe);
1306     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::UsbReleaseInterface002 %{public}d close=%{public}d", __LINE__,
1307                close);
1308     EXPECT_TRUE(close);
1309     USB_HILOGI(MODULE_USB_SERVICE, "Case End : UsbReleaseInterface002 : ReleaseInterface");
1310 }
1311 
1312 /**
1313  * @tc.name: UsbReleaseInterface003
1314  * @tc.desc: Test functions to ReleaseInterface(const UsbInterface &interface);
1315  * @tc.type: FUNC
1316  */
1317 HWTEST_F(UsbDevicePipeTest, UsbReleaseInterface003, TestSize.Level1)
1318 {
1319     USB_HILOGI(MODULE_USB_SERVICE, "Case Start : UsbReleaseInterface003 : ReleaseInterface");
1320     vector<UsbDevice> devi;
1321     auto &UsbSrvClient = UsbSrvClient::GetInstance();
1322     auto ret = UsbSrvClient.GetDevices(devi);
1323     EXPECT_TRUE(ret == 0);
1324     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::UsbReleaseInterface003 %{public}d ret=%{public}d", __LINE__,
1325                ret);
1326     EXPECT_TRUE(!(devi.empty())) << "delist NULL";
1327     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::UsbReleaseInterface003 %{public}d size=%{public}zu", __LINE__,
1328                devi.size());
1329     USBDevicePipe pipe;
1330     UsbDevice device = devi.front();
1331     UsbSrvClient.RequestRight(device.GetName());
1332     UsbInterface interface = device.GetConfigs().front().GetInterfaces().at(0);
1333     ret = UsbSrvClient.OpenDevice(device, pipe);
1334     EXPECT_TRUE(ret == 0);
1335     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::UsbReleaseInterface003 %{public}d OpenDevice=%{public}d",
1336                __LINE__, ret);
1337     pipe.SetDevAddr(BUFFER_SIZE);
1338     ret = UsbSrvClient.ReleaseInterface(pipe, interface);
1339     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::UsbReleaseInterface003 %{public}d ReleaseInterface=%{public}d",
1340                __LINE__, ret);
1341     EXPECT_TRUE(ret != 0);
1342     pipe.SetDevAddr(device.GetDevAddr());
1343     bool close = UsbSrvClient.Close(pipe);
1344     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::UsbReleaseInterface003 %{public}d close=%{public}d", __LINE__,
1345                close);
1346     EXPECT_TRUE(close);
1347     USB_HILOGI(MODULE_USB_SERVICE, "Case End : UsbReleaseInterface003 : ReleaseInterface");
1348 }
1349 
1350 /**
1351  * @tc.name: UsbReleaseInterface004
1352  * @tc.desc: Test functions to ReleaseInterface(const UsbInterface &interface);
1353  * @tc.type: FUNC
1354  */
1355 HWTEST_F(UsbDevicePipeTest, UsbReleaseInterface004, TestSize.Level1)
1356 {
1357     USB_HILOGI(MODULE_USB_SERVICE, "Case Start : UsbReleaseInterface004 : ReleaseInterface");
1358     vector<UsbDevice> devi;
1359     auto &UsbSrvClient = UsbSrvClient::GetInstance();
1360     auto ret = UsbSrvClient.GetDevices(devi);
1361     EXPECT_TRUE(ret == 0);
1362     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::UsbReleaseInterface004 %{public}d ret=%{public}d", __LINE__,
1363                ret);
1364     EXPECT_TRUE(!(devi.empty())) << "delist NULL";
1365     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::UsbReleaseInterface004 %{public}d size=%{public}zu", __LINE__,
1366                devi.size());
1367     USBDevicePipe pipe;
1368     UsbDevice device = devi.front();
1369     UsbSrvClient.RequestRight(device.GetName());
1370     ret = UsbSrvClient.OpenDevice(device, pipe);
1371     EXPECT_TRUE(ret == 0);
1372     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::UsbReleaseInterface004 %{public}d OpenDevice=%{public}d",
1373                __LINE__, ret);
1374     UsbInterface interface = devi.front().GetConfigs().front().GetInterfaces().at(1);
1375     ret = UsbSrvClient.ClaimInterface(pipe, interface, true);
1376     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::UsbReleaseInterface004 %{public}d ClaimInterface=%{public}d",
1377                __LINE__, ret);
1378     EXPECT_TRUE(ret == 0);
1379     ret = UsbSrvClient.ReleaseInterface(pipe, interface);
1380     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::UsbReleaseInterface004 %{public}d ReleaseInterface=%{public}d",
1381                __LINE__, ret);
1382     EXPECT_TRUE(ret == 0);
1383     bool close = UsbSrvClient.Close(pipe);
1384     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::UsbReleaseInterface004 %{public}d close=%{public}d", __LINE__,
1385                close);
1386     EXPECT_TRUE(close);
1387     USB_HILOGI(MODULE_USB_SERVICE, "Case End : UsbReleaseInterface004 : ReleaseInterface");
1388 }
1389 
1390 /**
1391  * @tc.name: UsbReleaseInterface005
1392  * @tc.desc: Test functions to ReleaseInterface(const UsbInterface &interface);
1393  * @tc.type: FUNC
1394  */
1395 HWTEST_F(UsbDevicePipeTest, UsbReleaseInterface005, TestSize.Level1)
1396 {
1397     USB_HILOGI(MODULE_USB_SERVICE, "Case Start : UsbReleaseInterface005 : ReleaseInterface");
1398     vector<UsbDevice> devi;
1399     auto &UsbSrvClient = UsbSrvClient::GetInstance();
1400     auto ret = UsbSrvClient.GetDevices(devi);
1401     EXPECT_TRUE(ret == 0);
1402     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::UsbReleaseInterface005 %{public}d ret=%{public}d", __LINE__,
1403                ret);
1404     EXPECT_TRUE(!(devi.empty())) << "delist NULL";
1405     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::UsbReleaseInterface005 %{public}d size=%{public}zu", __LINE__,
1406                devi.size());
1407     USBDevicePipe pipe;
1408     UsbDevice device = devi.front();
1409     UsbSrvClient.RequestRight(device.GetName());
1410     ret = UsbSrvClient.OpenDevice(device, pipe);
1411     EXPECT_TRUE(ret == 0);
1412     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::UsbReleaseInterface005 %{public}d OpenDevice=%{public}d",
1413                __LINE__, ret);
1414     UsbInterface interface = devi.front().GetConfigs().front().GetInterfaces().at(1);
1415     pipe.SetBusNum(BUFFER_SIZE);
1416     ret = UsbSrvClient.ReleaseInterface(pipe, interface);
1417     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::UsbReleaseInterface005 %{public}d ReleaseInterface=%{public}d",
1418                __LINE__, ret);
1419     EXPECT_TRUE(ret != 0);
1420     pipe.SetBusNum(device.GetBusNum());
1421     bool close = UsbSrvClient.Close(pipe);
1422     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::UsbReleaseInterface005 %{public}d close=%{public}d", __LINE__,
1423                close);
1424     EXPECT_TRUE(close);
1425     USB_HILOGI(MODULE_USB_SERVICE, "Case End : UsbReleaseInterface005 : ReleaseInterface");
1426 }
1427 
1428 /**
1429  * @tc.name: UsbReleaseInterface006
1430  * @tc.desc: Test functions to ReleaseInterface(const UsbInterface &interface);
1431  * @tc.type: FUNC
1432  */
1433 HWTEST_F(UsbDevicePipeTest, UsbReleaseInterface006, TestSize.Level1)
1434 {
1435     USB_HILOGI(MODULE_USB_SERVICE, "Case Start : UsbReleaseInterface006 : ReleaseInterface");
1436     vector<UsbDevice> devi;
1437     auto &UsbSrvClient = UsbSrvClient::GetInstance();
1438     auto ret = UsbSrvClient.GetDevices(devi);
1439     EXPECT_TRUE(ret == 0);
1440     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::UsbReleaseInterface006 %{public}d ret=%{public}d", __LINE__,
1441                ret);
1442     EXPECT_TRUE(!(devi.empty())) << "delist NULL";
1443     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::UsbReleaseInterface006 %{public}d size=%{public}zu", __LINE__,
1444                devi.size());
1445     USBDevicePipe pipe;
1446     UsbDevice device = devi.front();
1447     UsbSrvClient.RequestRight(device.GetName());
1448     ret = UsbSrvClient.OpenDevice(device, pipe);
1449     EXPECT_TRUE(ret == 0);
1450     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::UsbReleaseInterface006 %{public}d OpenDevice=%{public}d",
1451                __LINE__, ret);
1452     UsbInterface interface = devi.front().GetConfigs().front().GetInterfaces().at(1);
1453     pipe.SetDevAddr(BUFFER_SIZE);
1454     ret = UsbSrvClient.ReleaseInterface(pipe, interface);
1455     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::UsbReleaseInterface006 %{public}d ReleaseInterface=%{public}d",
1456                __LINE__, ret);
1457     EXPECT_TRUE(ret != 0);
1458     pipe.SetDevAddr(device.GetDevAddr());
1459     bool close = UsbSrvClient.Close(pipe);
1460     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::UsbReleaseInterface006 %{public}d close=%{public}d", __LINE__,
1461                close);
1462     EXPECT_TRUE(close);
1463     USB_HILOGI(MODULE_USB_SERVICE, "Case End : UsbReleaseInterface006 : ReleaseInterface");
1464 }
1465 
1466 /**
1467  * @tc.name: UsbBulkTransfer001
1468  * @tc.desc: Test functions to BulkTransfer(const USBEndpoint &endpoint, uint8_t *buffer, uint32_t &length, int32_t
1469  * timeout);
1470  * @tc.type: FUNC
1471  */
1472 HWTEST_F(UsbDevicePipeTest, UsbBulkTransfer001, TestSize.Level1)
1473 {
1474     USB_HILOGI(MODULE_USB_SERVICE, "Case Start : UsbBulkTransfer001 : BulkTransfer");
1475     vector<UsbDevice> devi;
1476     auto &UsbSrvClient = UsbSrvClient::GetInstance();
1477     auto ret = UsbSrvClient.GetDevices(devi);
1478     EXPECT_TRUE(ret == 0);
1479     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::UsbBulkTransfer001 %{public}d ret=%{public}d", __LINE__, ret);
1480     EXPECT_TRUE(!(devi.empty())) << "delist NULL";
1481     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::UsbBulkTransfer001 %{public}d size=%{public}zu", __LINE__,
1482                devi.size());
1483     USBDevicePipe pipe;
1484     UsbDevice device = devi.front();
1485     UsbSrvClient.RequestRight(device.GetName());
1486     ret = UsbSrvClient.OpenDevice(device, pipe);
1487     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::UsbBulkTransfer001 %{public}d OpenDevice=%{public}d", __LINE__,
1488                ret);
1489     EXPECT_TRUE(ret == 0);
1490     UsbInterface interface = device.GetConfigs().front().GetInterfaces().at(1);
1491     USBEndpoint point = interface.GetEndpoints().front();
1492     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::UsbBulkTransfer001 %{public}d point=%{public}d", __LINE__,
1493                point.GetInterfaceId());
1494     ret = UsbSrvClient.ClaimInterface(pipe, interface, true);
1495     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::UsbBulkTransfer001 %{public}d ClaimInterface=%{public}d",
1496                __LINE__, ret);
1497     EXPECT_TRUE(ret == 0);
1498     uint8_t buffer[BUFFER_SIZE] = "bulk read";
1499     uint32_t len = BUFFER_SIZE;
1500     std::vector<uint8_t> bulkbuffer = {buffer, buffer + len};
1501     ret = UsbSrvClient.BulkTransfer(pipe, point, bulkbuffer, 500);
1502     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::UsbBulkTransfer001 %{public}d BulkTransfer=%{public}d", __LINE__,
1503                ret);
1504     EXPECT_TRUE(ret == 0);
1505     bool close = UsbSrvClient.Close(pipe);
1506     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::UsbBulkTransfer001 %{public}d close=%{public}d", __LINE__,
1507                close);
1508     EXPECT_TRUE(close);
1509     USB_HILOGI(MODULE_USB_SERVICE, "Case End : UsbBulkTransfer001 : BulkTransfer");
1510 }
1511 
1512 /**
1513  * @tc.name: UsbBulkTransfer002
1514  * @tc.desc: Test functions to BulkTransfer(const USBEndpoint &endpoint, uint8_t *buffer, uint32_t &length, int32_t
1515  * timeout);
1516  * @tc.type: FUNC
1517  */
1518 HWTEST_F(UsbDevicePipeTest, UsbBulkTransfer002, TestSize.Level1)
1519 {
1520     USB_HILOGI(MODULE_USB_SERVICE, "Case Start : UsbBulkTransfer002 : BulkTransfer");
1521     vector<UsbDevice> devi;
1522     auto &UsbSrvClient = UsbSrvClient::GetInstance();
1523     auto ret = UsbSrvClient.GetDevices(devi);
1524     EXPECT_TRUE(ret == 0);
1525     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::UsbBulkTransfer002 %{public}d ret=%{public}d", __LINE__, ret);
1526     EXPECT_TRUE(!(devi.empty())) << "delist NULL";
1527     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::UsbBulkTransfer002 %{public}d size=%{public}zu", __LINE__,
1528                devi.size());
1529     USBDevicePipe pipe;
1530     UsbDevice device = devi.front();
1531     UsbSrvClient.RequestRight(device.GetName());
1532     UsbInterface interface = device.GetConfigs().front().GetInterfaces().at(1);
1533     USBEndpoint point = interface.GetEndpoints().front();
1534     ret = UsbSrvClient.OpenDevice(device, pipe);
1535     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::UsbBulkTransfer002 %{public}d OpenDevice=%{public}d", __LINE__,
1536                ret);
1537     EXPECT_TRUE(ret == 0);
1538     ret = UsbSrvClient.ClaimInterface(pipe, interface, true);
1539     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::UsbBulkTransfer002 %{public}d ClaimInterface=%{public}d",
1540                __LINE__, ret);
1541     EXPECT_TRUE(ret == 0);
1542     uint8_t buffer[BUFFER_SIZE] = "bulk read";
1543     uint32_t len = BUFFER_SIZE;
1544     std::vector<uint8_t> bulkbuffer = {buffer, buffer + len};
1545     ret = UsbSrvClient.BulkTransfer(pipe, point, bulkbuffer, -5);
1546     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::UsbBulkTransfer002 %{public}d BulkTransfer=%{public}d", __LINE__,
1547                ret);
1548     EXPECT_TRUE(ret == 0);
1549     bool close = UsbSrvClient.Close(pipe);
1550     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::UsbBulkTransfer002 %{public}d close=%{public}d", __LINE__,
1551                close);
1552     EXPECT_TRUE(close);
1553     USB_HILOGI(MODULE_USB_SERVICE, "Case End : UsbBulkTransfer002 : BulkTransfer");
1554 }
1555 
1556 /**
1557  * @tc.name: UsbBulkTransfer003
1558  * @tc.desc: Test functions to BulkTransfer(const USBEndpoint &endpoint, uint8_t *buffer, uint32_t &length, int32_t
1559  * timeout);
1560  * @tc.type: FUNC
1561  */
1562 HWTEST_F(UsbDevicePipeTest, UsbBulkTransfer003, TestSize.Level1)
1563 {
1564     USB_HILOGI(MODULE_USB_SERVICE, "Case Start : UsbBulkTransfer003 : BulkTransfer");
1565     vector<UsbDevice> devi;
1566     auto &UsbSrvClient = UsbSrvClient::GetInstance();
1567     auto ret = UsbSrvClient.GetDevices(devi);
1568     EXPECT_TRUE(ret == 0);
1569     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::UsbBulkTransfer003 %{public}d ret=%{public}d", __LINE__, ret);
1570     EXPECT_TRUE(!(devi.empty())) << "delist NULL";
1571     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::UsbBulkTransfer003 %{public}d size=%{public}zu", __LINE__,
1572                devi.size());
1573     USBDevicePipe pipe;
1574     UsbDevice device = devi.front();
1575     UsbSrvClient.RequestRight(device.GetName());
1576     ret = UsbSrvClient.OpenDevice(device, pipe);
1577     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::UsbBulkTransfer003 %{public}d OpenDevice=%{public}d", __LINE__,
1578                ret);
1579     EXPECT_TRUE(ret == 0);
1580     UsbInterface interface = device.GetConfigs().front().GetInterfaces().at(1);
1581     USBEndpoint point = interface.GetEndpoints().front();
1582     ret = UsbSrvClient.ClaimInterface(pipe, interface, true);
1583     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::UsbBulkTransfer003 %{public}d ClaimInterface=%{public}d",
1584                __LINE__, ret);
1585     EXPECT_TRUE(ret == 0);
1586     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::UsbBulkTransfer003 %{public}d point=%{public}d", __LINE__,
1587                point.GetInterfaceId());
1588     uint8_t buffer[BUFFER_SIZE] = "bulk read";
1589     uint32_t len = BUFFER_SIZE;
1590     pipe.SetBusNum(BUFFER_SIZE);
1591     std::vector<uint8_t> bulkbuffer = {buffer, buffer + len};
1592     ret = UsbSrvClient.BulkTransfer(pipe, point, bulkbuffer, 500);
1593     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::UsbBulkTransfer003 %{public}d BulkTransfer=%{public}d", __LINE__,
1594                ret);
1595     EXPECT_TRUE(ret != 0);
1596     pipe.SetBusNum(device.GetBusNum());
1597     bool close = UsbSrvClient.Close(pipe);
1598     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::UsbBulkTransfer003 %{public}d close=%{public}d", __LINE__,
1599                close);
1600     EXPECT_TRUE(close);
1601     USB_HILOGI(MODULE_USB_SERVICE, "Case End : UsbBulkTransfer003 : BulkTransfer");
1602 }
1603 
1604 /**
1605  * @tc.name: UsbBulkTransfer004
1606  * @tc.desc: Test functions to BulkTransfer(const USBEndpoint &endpoint, uint8_t *buffer, uint32_t &length, int32_t
1607  * timeout);
1608  * @tc.type: FUNC
1609  */
1610 HWTEST_F(UsbDevicePipeTest, UsbBulkTransfer004, TestSize.Level1)
1611 {
1612     USB_HILOGI(MODULE_USB_SERVICE, "Case Start : UsbBulkTransfer004 : BulkTransfer");
1613     vector<UsbDevice> devi;
1614     auto &UsbSrvClient = UsbSrvClient::GetInstance();
1615     auto ret = UsbSrvClient.GetDevices(devi);
1616     EXPECT_TRUE(ret == 0);
1617     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::UsbBulkTransfer004 %{public}d ret=%{public}d", __LINE__, ret);
1618     EXPECT_TRUE(!(devi.empty())) << "delist NULL";
1619     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::UsbBulkTransfer004 %{public}d size=%{public}zu", __LINE__,
1620                devi.size());
1621     USBDevicePipe pipe;
1622     UsbDevice device = devi.front();
1623     UsbSrvClient.RequestRight(device.GetName());
1624     ret = UsbSrvClient.OpenDevice(device, pipe);
1625     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::UsbBulkTransfer004 %{public}d OpenDevice=%{public}d", __LINE__,
1626                ret);
1627     EXPECT_TRUE(ret == 0);
1628     UsbInterface interface = device.GetConfigs().front().GetInterfaces().at(1);
1629     USBEndpoint point = interface.GetEndpoints().front();
1630     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::UsbBulkTransfer004 %{public}d point=%{public}d", __LINE__,
1631                point.GetInterfaceId());
1632     ret = UsbSrvClient.ClaimInterface(pipe, interface, true);
1633     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::UsbBulkTransfer004 %{public}d ClaimInterface=%{public}d",
1634                __LINE__, ret);
1635     EXPECT_TRUE(ret == 0);
1636     uint8_t buffer[BUFFER_SIZE] = "bulk read";
1637     uint32_t len = BUFFER_SIZE;
1638     pipe.SetDevAddr(BUFFER_SIZE);
1639     std::vector<uint8_t> bulkbuffer = {buffer, buffer + len};
1640     ret = UsbSrvClient.BulkTransfer(pipe, point, bulkbuffer, 500);
1641     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::UsbBulkTransfer004 %{public}d BulkTransfer=%{public}d", __LINE__,
1642                ret);
1643     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::UsbBulkTransfer004 %{public}d len=%{public}d", __LINE__, len);
1644     EXPECT_TRUE(ret != 0);
1645     pipe.SetDevAddr(device.GetDevAddr());
1646     bool close = UsbSrvClient.Close(pipe);
1647     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::UsbBulkTransfer004 %{public}d close=%{public}d", __LINE__,
1648                close);
1649     EXPECT_TRUE(close);
1650     USB_HILOGI(MODULE_USB_SERVICE, "Case End : UsbBulkTransfer004 : BulkTransfer");
1651 }
1652 
1653 /**
1654  * @tc.name: UsbBulkTransfer005
1655  * @tc.desc: Test functions to BulkTransfer(const USBEndpoint &endpoint, uint8_t *buffer, uint32_t &length, int32_t
1656  * timeout);
1657  * @tc.type: FUNC
1658  */
1659 HWTEST_F(UsbDevicePipeTest, UsbBulkTransfer005, TestSize.Level1)
1660 {
1661     USB_HILOGI(MODULE_USB_SERVICE, "Case Start : UsbBulkTransfer005 : BulkTransfer");
1662     vector<UsbDevice> devi;
1663     auto &UsbSrvClient = UsbSrvClient::GetInstance();
1664     auto ret = UsbSrvClient.GetDevices(devi);
1665     EXPECT_TRUE(ret == 0);
1666     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::UsbBulkTransfer005 %{public}d ret=%{public}d", __LINE__, ret);
1667     EXPECT_TRUE(!(devi.empty())) << "delist NULL";
1668     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::UsbBulkTransfer005 %{public}d size=%{public}zu", __LINE__,
1669                devi.size());
1670     USBDevicePipe pipe;
1671     UsbDevice device = devi.front();
1672     UsbSrvClient.RequestRight(device.GetName());
1673     UsbInterface interface = device.GetConfigs().front().GetInterfaces().at(1);
1674     USBEndpoint point = interface.GetEndpoints().front();
1675     ret = UsbSrvClient.OpenDevice(device, pipe);
1676     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::UsbBulkTransfer005 %{public}d OpenDevice=%{public}d", __LINE__,
1677                ret);
1678     EXPECT_TRUE(ret == 0);
1679     ret = UsbSrvClient.ClaimInterface(pipe, interface, true);
1680     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::UsbBulkTransfer005 %{public}d ClaimInterface=%{public}d",
1681                __LINE__, ret);
1682     EXPECT_TRUE(ret == 0);
1683     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::UsbBulkTransfer005 %{public}d point=%{public}d", __LINE__,
1684                point.GetInterfaceId());
1685     uint8_t buffer[BUFFER_SIZE] = "bulk read";
1686     uint32_t len = BUFFER_SIZE;
1687     point.SetInterfaceId(BUFFER_SIZE);
1688     std::vector<uint8_t> bulkbuffer = {buffer, buffer + len};
1689     ret = UsbSrvClient.BulkTransfer(pipe, point, bulkbuffer, 500);
1690     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::UsbBulkTransfer005 %{public}d BulkTransfer=%{public}d", __LINE__,
1691                ret);
1692     EXPECT_TRUE(ret != 0);
1693     bool close = UsbSrvClient.Close(pipe);
1694     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::UsbBulkTransfer005 %{public}d close=%{public}d", __LINE__,
1695                close);
1696     EXPECT_TRUE(close);
1697     USB_HILOGI(MODULE_USB_SERVICE, "Case End : UsbBulkTransfer005 : BulkTransfer");
1698 }
1699 
1700 /**
1701  * @tc.name: UsbBulkTransfer006
1702  * @tc.desc: Test functions to BulkTransfer(const USBEndpoint &endpoint, uint8_t *buffer, uint32_t &length, int32_t
1703  * timeout);
1704  * @tc.type: FUNC
1705  */
1706 HWTEST_F(UsbDevicePipeTest, UsbBulkTransfer006, TestSize.Level1)
1707 {
1708     USB_HILOGI(MODULE_USB_SERVICE, "Case Start : UsbBulkTransfer006 : BulkTransfer");
1709     vector<UsbDevice> devi;
1710     auto &UsbSrvClient = UsbSrvClient::GetInstance();
1711     auto ret = UsbSrvClient.GetDevices(devi);
1712     EXPECT_TRUE(ret == 0);
1713     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::UsbBulkTransfer006 %{public}d ret=%{public}d", __LINE__, ret);
1714     EXPECT_TRUE(!(devi.empty())) << "delist NULL";
1715     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::UsbBulkTransfer006 %{public}d size=%{public}zu", __LINE__,
1716                devi.size());
1717     USBDevicePipe pipe;
1718     UsbDevice device = devi.front();
1719     UsbSrvClient.RequestRight(device.GetName());
1720     UsbInterface interface = device.GetConfigs().front().GetInterfaces().at(1);
1721     USBEndpoint point = interface.GetEndpoints().front();
1722     ret = UsbSrvClient.OpenDevice(device, pipe);
1723     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::UsbBulkTransfer006 %{public}d OpenDevice=%{public}d", __LINE__,
1724                ret);
1725     EXPECT_TRUE(ret == 0);
1726     ret = UsbSrvClient.ClaimInterface(pipe, interface, true);
1727     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::UsbBulkTransfer006 %{public}d ClaimInterface=%{public}d",
1728                __LINE__, ret);
1729     EXPECT_TRUE(ret == 0);
1730     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::UsbBulkTransfer006 %{public}d point=%{public}d", __LINE__,
1731                point.GetInterfaceId());
1732     uint8_t buffer[BUFFER_SIZE] = "bulk read";
1733     uint32_t len = BUFFER_SIZE;
1734     point.SetAddr(BUFFER_SIZE);
1735     std::vector<uint8_t> bulkbuffer = {buffer, buffer + len};
1736     ret = UsbSrvClient.BulkTransfer(pipe, point, bulkbuffer, 500);
1737     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::UsbBulkTransfer006 %{public}d BulkTransfer=%{public}d", __LINE__,
1738                ret);
1739     EXPECT_TRUE(ret != 0);
1740     bool close = UsbSrvClient.Close(pipe);
1741     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::UsbBulkTransfer006 %{public}d close=%{public}d", __LINE__,
1742                close);
1743     EXPECT_TRUE(close);
1744     USB_HILOGI(MODULE_USB_SERVICE, "Case End : UsbBulkTransfer006 : BulkTransfer");
1745 }
1746 
1747 /**
1748  * @tc.name: UsbBulkTransfer007
1749  * @tc.desc: Test functions to BulkTransfer(const USBEndpoint &endpoint, uint8_t *buffer, uint32_t &length, int32_t
1750  * timeout);
1751  * @tc.type: FUNC
1752  */
1753 HWTEST_F(UsbDevicePipeTest, UsbBulkTransfer007, TestSize.Level1)
1754 {
1755     USB_HILOGI(MODULE_USB_SERVICE, "Case Start : UsbBulkTransfer007 : BulkTransfer");
1756     vector<UsbDevice> devi;
1757     auto &UsbSrvClient = UsbSrvClient::GetInstance();
1758     auto ret = UsbSrvClient.GetDevices(devi);
1759     EXPECT_TRUE(ret == 0);
1760     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::UsbBulkTransfer007 %{public}d ret=%{public}d", __LINE__, ret);
1761     EXPECT_TRUE(!(devi.empty())) << "delist NULL";
1762     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::UsbBulkTransfer007 %{public}d size=%{public}zu", __LINE__,
1763                devi.size());
1764     USBDevicePipe pipe;
1765     UsbDevice device = devi.front();
1766     UsbSrvClient.RequestRight(device.GetName());
1767     UsbInterface interface = device.GetConfigs().front().GetInterfaces().at(1);
1768     USBEndpoint point = interface.GetEndpoints().at(1);
1769     ret = UsbSrvClient.OpenDevice(device, pipe);
1770     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::UsbBulkTransfer007 %{public}d OpenDevice=%{public}d", __LINE__,
1771                ret);
1772     EXPECT_TRUE(ret == 0);
1773     ret = UsbSrvClient.ClaimInterface(pipe, interface, true);
1774     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::UsbBulkTransfer007 %{public}d ClaimInterface=%{public}d",
1775                __LINE__, ret);
1776     EXPECT_TRUE(ret == 0);
1777     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::UsbBulkTransfer007 %{public}d point=%{public}d", __LINE__,
1778                point.GetInterfaceId());
1779     uint8_t buffer[BUFFER_SIZE] = "hello world Bulk transfer007";
1780     uint32_t len = BUFFER_SIZE;
1781     std::vector<uint8_t> bulkbuffer = {buffer, buffer + len};
1782     ret = UsbSrvClient.BulkTransfer(pipe, point, bulkbuffer, 500);
1783     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::UsbBulkTransfer007 %{public}d BulkTransfer=%{public}d", __LINE__,
1784                ret);
1785     EXPECT_TRUE(ret == 0);
1786     bool close = UsbSrvClient.Close(pipe);
1787     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::UsbBulkTransfer007 %{public}d close=%{public}d", __LINE__,
1788                close);
1789     EXPECT_TRUE(close);
1790     USB_HILOGI(MODULE_USB_SERVICE, "Case End : UsbBulkTransfer007 : BulkTransfer");
1791 }
1792 
1793 /**
1794  * @tc.name: UsbBulkTransfer008
1795  * @tc.desc: Test functions to BulkTransfer(const USBEndpoint &endpoint, uint8_t *buffer, uint32_t &length, int32_t
1796  * timeout);
1797  * @tc.type: FUNC
1798  */
1799 HWTEST_F(UsbDevicePipeTest, UsbBulkTransfer008, TestSize.Level1)
1800 {
1801     USB_HILOGI(MODULE_USB_SERVICE, "Case Start : UsbBulkTransfer008 : BulkTransfer");
1802     vector<UsbDevice> devi;
1803     auto &UsbSrvClient = UsbSrvClient::GetInstance();
1804     auto ret = UsbSrvClient.GetDevices(devi);
1805     EXPECT_TRUE(ret == 0);
1806     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::UsbBulkTransfer008 %{public}d ret=%{public}d", __LINE__, ret);
1807     EXPECT_TRUE(!(devi.empty())) << "delist NULL";
1808     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::UsbBulkTransfer008 %{public}d size=%{public}zu", __LINE__,
1809                devi.size());
1810     USBDevicePipe pipe;
1811     UsbDevice device = devi.front();
1812     UsbSrvClient.RequestRight(device.GetName());
1813     UsbInterface interface = device.GetConfigs().front().GetInterfaces().at(1);
1814     USBEndpoint point = interface.GetEndpoints().at(1);
1815     ret = UsbSrvClient.OpenDevice(device, pipe);
1816     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::UsbBulkTransfer008 %{public}d OpenDevice=%{public}d", __LINE__,
1817                ret);
1818     EXPECT_TRUE(ret == 0);
1819     ret = UsbSrvClient.ClaimInterface(pipe, interface, true);
1820     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::UsbBulkTransfer008 %{public}d ClaimInterface=%{public}d",
1821                __LINE__, ret);
1822     EXPECT_TRUE(ret == 0);
1823     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::UsbBulkTransfer008 %{public}d point=%{public}d", __LINE__,
1824                point.GetInterfaceId());
1825     uint8_t buffer[BUFFER_SIZE] = "hello world Bulk transfer008";
1826     uint32_t len = BUFFER_SIZE;
1827     pipe.SetDevAddr(BUFFER_SIZE);
1828     std::vector<uint8_t> bulkbuffer = {buffer, buffer + len};
1829     ret = UsbSrvClient.BulkTransfer(pipe, point, bulkbuffer, 500);
1830     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::UsbBulkTransfer008 %{public}d BulkTransfer=%{public}d", __LINE__,
1831                ret);
1832     EXPECT_TRUE(ret != 0);
1833     pipe.SetDevAddr(device.GetDevAddr());
1834     bool close = UsbSrvClient.Close(pipe);
1835     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::UsbBulkTransfer008 %{public}d close=%{public}d", __LINE__,
1836                close);
1837     EXPECT_TRUE(close);
1838     USB_HILOGI(MODULE_USB_SERVICE, "Case End : UsbBulkTransfer008 : BulkTransfer");
1839 }
1840 
1841 /**
1842  * @tc.name: UsbBulkTransfer009
1843  * @tc.desc: Test functions to BulkTransfer(const USBEndpoint &endpoint, uint8_t *buffer, uint32_t &length, int32_t
1844  * timeout);
1845  * @tc.type: FUNC
1846  */
1847 HWTEST_F(UsbDevicePipeTest, UsbBulkTransfer009, TestSize.Level1)
1848 {
1849     USB_HILOGI(MODULE_USB_SERVICE, "Case Start : UsbBulkTransfer009 : BulkTransfer");
1850     vector<UsbDevice> devi;
1851     auto &UsbSrvClient = UsbSrvClient::GetInstance();
1852     auto ret = UsbSrvClient.GetDevices(devi);
1853     EXPECT_TRUE(ret == 0);
1854     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::UsbBulkTransfer009 %{public}d ret=%{public}d", __LINE__, ret);
1855     EXPECT_TRUE(!(devi.empty())) << "delist NULL";
1856     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::UsbBulkTransfer009 %{public}d size=%{public}zu", __LINE__,
1857                devi.size());
1858     USBDevicePipe pipe;
1859     UsbDevice device = devi.front();
1860     UsbSrvClient.RequestRight(device.GetName());
1861     UsbInterface interface = device.GetConfigs().front().GetInterfaces().at(1);
1862     USBEndpoint point = interface.GetEndpoints().at(1);
1863     ret = UsbSrvClient.OpenDevice(device, pipe);
1864     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::UsbBulkTransfer009 %{public}d OpenDevice=%{public}d", __LINE__,
1865                ret);
1866     EXPECT_TRUE(ret == 0);
1867     ret = UsbSrvClient.ClaimInterface(pipe, interface, true);
1868     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::UsbBulkTransfer009 %{public}d ClaimInterface=%{public}d",
1869                __LINE__, ret);
1870     EXPECT_TRUE(ret == 0);
1871     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::UsbBulkTransfer009 %{public}d point=%{public}d", __LINE__,
1872                point.GetInterfaceId());
1873     uint8_t buffer[BUFFER_SIZE] = "hello world Bulk transfer009";
1874     uint32_t len = BUFFER_SIZE;
1875     pipe.SetBusNum(BUFFER_SIZE);
1876     std::vector<uint8_t> bulkbuffer = {buffer, buffer + len};
1877     ret = UsbSrvClient.BulkTransfer(pipe, point, bulkbuffer, 500);
1878     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::UsbBulkTransfer009 %{public}d BulkTransfer=%{public}d", __LINE__,
1879                ret);
1880     EXPECT_TRUE(ret != 0);
1881     pipe.SetBusNum(device.GetBusNum());
1882     bool close = UsbSrvClient.Close(pipe);
1883     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::UsbBulkTransfer009 %{public}d close=%{public}d", __LINE__,
1884                close);
1885     EXPECT_TRUE(close);
1886     USB_HILOGI(MODULE_USB_SERVICE, "Case End : UsbBulkTransfer009 : BulkTransfer");
1887 }
1888 
1889 /**
1890  * @tc.name: UsbBulkTransfer010
1891  * @tc.desc: Test functions to BulkTransfer(const USBEndpoint &endpoint, uint8_t *buffer, uint32_t &length, int32_t
1892  * timeout);
1893  * @tc.type: FUNC
1894  */
1895 HWTEST_F(UsbDevicePipeTest, UsbBulkTransfer010, TestSize.Level1)
1896 {
1897     USB_HILOGI(MODULE_USB_SERVICE, "Case Start : UsbBulkTransfer010 : BulkTransfer");
1898     vector<UsbDevice> devi;
1899     auto &UsbSrvClient = UsbSrvClient::GetInstance();
1900     auto ret = UsbSrvClient.GetDevices(devi);
1901     EXPECT_TRUE(ret == 0);
1902     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::UsbBulkTransfer010 %{public}d ret=%{public}d", __LINE__, ret);
1903     EXPECT_TRUE(!(devi.empty())) << "delist NULL";
1904     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::UsbBulkTransfer010 %{public}d size=%{public}zu", __LINE__,
1905                devi.size());
1906     USBDevicePipe pipe;
1907     UsbDevice device = devi.front();
1908     UsbSrvClient.RequestRight(device.GetName());
1909     UsbInterface interface = device.GetConfigs().front().GetInterfaces().at(1);
1910     USBEndpoint point = interface.GetEndpoints().at(1);
1911     ret = UsbSrvClient.OpenDevice(device, pipe);
1912     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::UsbBulkTransfer010 %{public}d OpenDevice=%{public}d", __LINE__,
1913                ret);
1914     EXPECT_TRUE(ret == 0);
1915     ret = UsbSrvClient.ClaimInterface(pipe, interface, true);
1916     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::UsbBulkTransfer010 %{public}d ClaimInterface=%{public}d",
1917                __LINE__, ret);
1918     EXPECT_TRUE(ret == 0);
1919     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::UsbBulkTransfer010 %{public}d point=%{public}d", __LINE__,
1920                point.GetInterfaceId());
1921     uint8_t buffer[BUFFER_SIZE] = "hello world Bulk transfer010";
1922     uint32_t len = BUFFER_SIZE;
1923     std::vector<uint8_t> bulkbuffer = {buffer, buffer + len};
1924     ret = UsbSrvClient.BulkTransfer(pipe, point, bulkbuffer, -5);
1925     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::UsbBulkTransfer010 %{public}d BulkTransfer=%{public}d", __LINE__,
1926                ret);
1927     EXPECT_TRUE(ret == 0);
1928     bool close = UsbSrvClient.Close(pipe);
1929     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::UsbBulkTransfer010 %{public}d close=%{public}d", __LINE__,
1930                close);
1931     EXPECT_TRUE(close);
1932     USB_HILOGI(MODULE_USB_SERVICE, "Case End : UsbBulkTransfer010 : BulkTransfer");
1933 }
1934 
1935 /**
1936  * @tc.name: SetConfiguration001
1937  * @tc.desc: Test functions to  SetConfiguration(const USBConfig &config);
1938  * @tc.type: FUNC
1939  */
1940 HWTEST_F(UsbDevicePipeTest, SetConfiguration001, TestSize.Level1)
1941 {
1942     USB_HILOGI(MODULE_USB_SERVICE, "Case Start : SetConfiguration001 : SetConfiguration");
1943     vector<UsbDevice> devi;
1944     auto &UsbSrvClient = UsbSrvClient::GetInstance();
1945     auto ret = UsbSrvClient.GetDevices(devi);
1946     EXPECT_TRUE(ret == 0);
1947     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::SetConfiguration001 %{public}d ret=%{public}d", __LINE__, ret);
1948     EXPECT_TRUE(!(devi.empty())) << "delist NULL";
1949     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::SetConfiguration001 %{public}d size=%{public}zu", __LINE__,
1950                devi.size());
1951     USBDevicePipe pipe;
1952     UsbDevice device = devi.front();
1953     UsbSrvClient.RequestRight(device.GetName());
1954     USBConfig config = device.GetConfigs().front();
1955     ret = UsbSrvClient.OpenDevice(device, pipe);
1956     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::SetConfiguration001 %{public}d OpenDevice=%{public}d", __LINE__,
1957                ret);
1958     EXPECT_TRUE(ret == 0);
1959     ret = UsbSrvClient.SetConfiguration(pipe, config);
1960     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::SetConfiguration001 %{public}d SetConfiguration=%{public}d",
1961                __LINE__, ret);
1962     EXPECT_TRUE(ret == 0);
1963     bool close = UsbSrvClient.Close(pipe);
1964     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::SetConfiguration001 %{public}d close=%{public}d", __LINE__,
1965                close);
1966     EXPECT_TRUE(close);
1967     USB_HILOGI(MODULE_USB_SERVICE, "Case End : SetConfiguration001 : SetConfiguration");
1968 }
1969 
1970 /**
1971  * @tc.name: SetConfiguration002
1972  * @tc.desc: Test functions to  SetConfiguration(const USBConfig &config);
1973  * @tc.type: FUNC
1974  */
1975 HWTEST_F(UsbDevicePipeTest, SetConfiguration002, TestSize.Level1)
1976 {
1977     USB_HILOGI(MODULE_USB_SERVICE, "Case Start : SetConfiguration002 : SetConfiguration");
1978     vector<UsbDevice> devi;
1979     auto &UsbSrvClient = UsbSrvClient::GetInstance();
1980     auto ret = UsbSrvClient.GetDevices(devi);
1981     EXPECT_TRUE(ret == 0);
1982     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::SetConfiguration002 %{public}d ret=%{public}d", __LINE__, ret);
1983     EXPECT_TRUE(!(devi.empty())) << "delist NULL";
1984     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::SetConfiguration002 %{public}d size=%{public}zu", __LINE__,
1985                devi.size());
1986     USBDevicePipe pipe;
1987     UsbDevice device = devi.front();
1988     UsbSrvClient.RequestRight(device.GetName());
1989     USBConfig config = device.GetConfigs().front();
1990     ret = UsbSrvClient.OpenDevice(device, pipe);
1991     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::SetConfiguration002 %{public}d OpenDevice=%{public}d", __LINE__,
1992                ret);
1993     EXPECT_TRUE(ret == 0);
1994     pipe.SetBusNum(BUFFER_SIZE);
1995     ret = UsbSrvClient.SetConfiguration(pipe, config);
1996     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::SetConfiguration002 %{public}d SetConfiguration=%{public}d",
1997                __LINE__, ret);
1998     EXPECT_TRUE(ret != 0);
1999     pipe.SetBusNum(device.GetBusNum());
2000     bool close = UsbSrvClient.Close(pipe);
2001     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::SetConfiguration002 %{public}d close=%{public}d", __LINE__,
2002                close);
2003     EXPECT_TRUE(close);
2004     USB_HILOGI(MODULE_USB_SERVICE, "Case End : SetConfiguration002 : SetConfiguration");
2005 }
2006 
2007 /**
2008  * @tc.name: SetConfiguration003
2009  * @tc.desc: Test functions to  SetConfiguration(const USBConfig &config);
2010  * @tc.type: FUNC
2011  */
2012 HWTEST_F(UsbDevicePipeTest, SetConfiguration003, TestSize.Level1)
2013 {
2014     USB_HILOGI(MODULE_USB_SERVICE, "Case Start : SetConfiguration003 : SetConfiguration");
2015     vector<UsbDevice> devi;
2016     auto &UsbSrvClient = UsbSrvClient::GetInstance();
2017     auto ret = UsbSrvClient.GetDevices(devi);
2018     EXPECT_TRUE(ret == 0);
2019     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::SetConfiguration003 %{public}d ret=%{public}d", __LINE__, ret);
2020     EXPECT_TRUE(!(devi.empty())) << "delist NULL";
2021     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::SetConfiguration003 %{public}d size=%{public}zu", __LINE__,
2022                devi.size());
2023     USBDevicePipe pipe;
2024     UsbDevice device = devi.front();
2025     UsbSrvClient.RequestRight(device.GetName());
2026     USBConfig config = device.GetConfigs().front();
2027     ret = UsbSrvClient.OpenDevice(device, pipe);
2028     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::SetConfiguration003 %{public}d OpenDevice=%{public}d", __LINE__,
2029                ret);
2030     EXPECT_TRUE(ret == 0);
2031     pipe.SetDevAddr(BUFFER_SIZE);
2032     ret = UsbSrvClient.SetConfiguration(pipe, config);
2033     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::SetConfiguration003 %{public}d SetConfiguration=%{public}d",
2034                __LINE__, ret);
2035     EXPECT_TRUE(ret != 0);
2036     pipe.SetDevAddr(device.GetDevAddr());
2037     bool close = UsbSrvClient.Close(pipe);
2038     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::SetConfiguration003 %{public}d close=%{public}d", __LINE__,
2039                close);
2040     EXPECT_TRUE(close);
2041 
2042     USB_HILOGI(MODULE_USB_SERVICE, "Case End : SetConfiguration003 : SetConfiguration");
2043 }
2044 
2045 /**
2046  * @tc.name: Close001
2047  * @tc.desc: Test functions to  Close();
2048  * @tc.type: FUNC
2049  */
2050 HWTEST_F(UsbDevicePipeTest, Close001, TestSize.Level1)
2051 {
2052     USB_HILOGI(MODULE_USB_SERVICE, "Case Start : Close001 : Close");
2053     vector<UsbDevice> devi;
2054     auto &UsbSrvClient = UsbSrvClient::GetInstance();
2055     auto ret = UsbSrvClient.GetDevices(devi);
2056     EXPECT_TRUE(ret == 0);
2057     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::Close001 %{public}d ret=%{public}d", __LINE__, ret);
2058     EXPECT_TRUE(!(devi.empty())) << "delist NULL";
2059     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::Close001 %{public}d size=%{public}zu", __LINE__, devi.size());
2060     USBDevicePipe pipe;
2061     UsbDevice device = devi.front();
2062     UsbSrvClient.RequestRight(device.GetName());
2063     ret = UsbSrvClient.OpenDevice(device, pipe);
2064     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::Close001 %{public}d OpenDevice=%{public}d", __LINE__, ret);
2065     EXPECT_TRUE(ret == 0);
2066     ret = UsbSrvClient.Close(pipe);
2067     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::Close001 %{public}d close=%{public}d", __LINE__, ret);
2068     EXPECT_TRUE(ret);
2069     USB_HILOGI(MODULE_USB_SERVICE, "Case End : Close001 : Close");
2070 }
2071 
2072 /**
2073  * @tc.name: Close002
2074  * @tc.desc: Test functions to  Close();
2075  * @tc.type: FUNC
2076  */
2077 HWTEST_F(UsbDevicePipeTest, Close002, TestSize.Level1)
2078 {
2079     USB_HILOGI(MODULE_USB_SERVICE, "Case Start : Close002 : Close");
2080     vector<UsbDevice> devi;
2081     auto &UsbSrvClient = UsbSrvClient::GetInstance();
2082     auto ret = UsbSrvClient.GetDevices(devi);
2083     EXPECT_TRUE(ret == 0);
2084     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::Close002 %{public}d ret=%{public}d", __LINE__, ret);
2085     EXPECT_TRUE(!(devi.empty())) << "delist NULL";
2086     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::Close002 %{public}d size=%{public}zu", __LINE__, devi.size());
2087     USBDevicePipe pipe;
2088     UsbDevice device = devi.front();
2089     UsbSrvClient.RequestRight(device.GetName());
2090     ret = UsbSrvClient.OpenDevice(device, pipe);
2091     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::Close002 %{public}d OpenDevice=%{public}d", __LINE__, ret);
2092     EXPECT_TRUE(ret == 0);
2093     pipe.SetBusNum(BUFFER_SIZE);
2094     ret = UsbSrvClient.Close(pipe);
2095     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::Close002 %{public}d close=%{public}d", __LINE__, ret);
2096     EXPECT_TRUE(!ret);
2097     pipe.SetBusNum(device.GetBusNum());
2098     ret = UsbSrvClient.Close(pipe);
2099     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::Close002 %{public}d close=%{public}d", __LINE__, ret);
2100     EXPECT_TRUE(ret);
2101     USB_HILOGI(MODULE_USB_SERVICE, "Case End : Close002 : Close");
2102 }
2103 
2104 /**
2105  * @tc.name: Close003
2106  * @tc.desc: Test functions to  Close();
2107  * @tc.type: FUNC
2108  */
2109 HWTEST_F(UsbDevicePipeTest, Close003, TestSize.Level1)
2110 {
2111     USB_HILOGI(MODULE_USB_SERVICE, "Case Start : Close003 : Close");
2112     vector<UsbDevice> devi;
2113     auto &UsbSrvClient = UsbSrvClient::GetInstance();
2114     auto ret = UsbSrvClient.GetDevices(devi);
2115     EXPECT_TRUE(ret == 0);
2116     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::Close003 %{public}d ret=%{public}d", __LINE__, ret);
2117     EXPECT_TRUE(!(devi.empty())) << "delist NULL";
2118     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::Close003 %{public}d size=%{public}zu", __LINE__, devi.size());
2119     USBDevicePipe pipe;
2120     UsbDevice device = devi.front();
2121     UsbSrvClient.RequestRight(device.GetName());
2122     ret = UsbSrvClient.OpenDevice(device, pipe);
2123     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::Close003 %{public}d OpenDevice=%{public}d", __LINE__, ret);
2124     EXPECT_TRUE(ret == 0);
2125     pipe.SetDevAddr(BUFFER_SIZE);
2126     ret = UsbSrvClient.Close(pipe);
2127     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::Close003 %{public}d close=%{public}d", __LINE__, ret);
2128     EXPECT_TRUE(!ret);
2129     pipe.SetDevAddr(device.GetDevAddr());
2130     ret = UsbSrvClient.Close(pipe);
2131     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::Close003 %{public}d close=%{public}d", __LINE__, ret);
2132     EXPECT_TRUE(ret);
2133     USB_HILOGI(MODULE_USB_SERVICE, "Case End : Close003 : Close");
2134 }
2135 
2136 /**
2137  * @tc.name: SetInterface001
2138  * @tc.desc: Test functions to SetInterface(const UsbInterface &interface);
2139  * @tc.type: FUNC
2140  */
2141 HWTEST_F(UsbDevicePipeTest, SetInterface001, TestSize.Level1)
2142 {
2143     USB_HILOGI(MODULE_USB_SERVICE, "Case Start : SetInterface001 : SetInterface");
2144     vector<UsbDevice> devi;
2145     auto &UsbSrvClient = UsbSrvClient::GetInstance();
2146     auto ret = UsbSrvClient.GetDevices(devi);
2147     EXPECT_TRUE(ret == 0);
2148     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::SetInterface001 %{public}d ret=%{public}d", __LINE__, ret);
2149     EXPECT_TRUE(!(devi.empty())) << "delist NULL";
2150     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::SetInterface001 %{public}d size=%{public}zu", __LINE__,
2151                devi.size());
2152     USBDevicePipe pipe;
2153     UsbDevice device = devi.front();
2154     UsbSrvClient.RequestRight(device.GetName());
2155     ret = UsbSrvClient.OpenDevice(device, pipe);
2156     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::SetInterface001 %{public}d OpenDevice=%{public}d", __LINE__,
2157                ret);
2158     EXPECT_TRUE(ret == 0);
2159     UsbInterface interface = device.GetConfigs().front().GetInterfaces().at(0);
2160     ret = UsbSrvClient.ClaimInterface(pipe, interface, true);
2161     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::SetInterface001 %{public}d ClaimInterface=%{public}d", __LINE__,
2162                ret);
2163     EXPECT_TRUE(ret == 0);
2164     ret = UsbSrvClient.SetInterface(pipe, interface);
2165     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::SetInterface001 %{public}d SetInterface=%{public}d", __LINE__,
2166                ret);
2167     EXPECT_TRUE(ret == 0);
2168     bool close = UsbSrvClient.Close(pipe);
2169     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::SetInterface001 %{public}d close=%{public}d", __LINE__, close);
2170     EXPECT_TRUE(close);
2171     USB_HILOGI(MODULE_USB_SERVICE, "Case End : SetInterface001 : SetInterface");
2172 }
2173 
2174 /**
2175  * @tc.name: SetInterface002
2176  * @tc.desc: Test functions to SetInterface(const UsbInterface &interface);
2177  * @tc.type: FUNC
2178  */
2179 HWTEST_F(UsbDevicePipeTest, SetInterface002, TestSize.Level1)
2180 {
2181     USB_HILOGI(MODULE_USB_SERVICE, "Case Start : SetInterface002 : SetInterface");
2182     vector<UsbDevice> devi;
2183     auto &UsbSrvClient = UsbSrvClient::GetInstance();
2184     auto ret = UsbSrvClient.GetDevices(devi);
2185     EXPECT_TRUE(ret == 0);
2186     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::SetInterface002 %{public}d ret=%{public}d", __LINE__, ret);
2187     EXPECT_TRUE(!(devi.empty())) << "delist NULL";
2188     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::SetInterface002 %{public}d size=%{public}zu", __LINE__,
2189                devi.size());
2190     USBDevicePipe pipe;
2191     UsbDevice device = devi.front();
2192     UsbSrvClient.RequestRight(device.GetName());
2193     ret = UsbSrvClient.OpenDevice(device, pipe);
2194     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::SetInterface002 %{public}d OpenDevice=%{public}d", __LINE__,
2195                ret);
2196     EXPECT_TRUE(ret == 0);
2197     UsbInterface interface = device.GetConfigs().front().GetInterfaces().at(0);
2198     ret = UsbSrvClient.ClaimInterface(pipe, interface, true);
2199     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::SetInterface002 %{public}d ClaimInterface=%{public}d", __LINE__,
2200                ret);
2201     EXPECT_TRUE(ret == 0);
2202     pipe.SetBusNum(BUFFER_SIZE);
2203     ret = UsbSrvClient.SetInterface(pipe, interface);
2204     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::SetInterface002 %{public}d SetInterface=%{public}d", __LINE__,
2205                ret);
2206     EXPECT_TRUE(ret != 0);
2207     pipe.SetBusNum(device.GetBusNum());
2208     bool close = UsbSrvClient.Close(pipe);
2209     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::SetInterface002 %{public}d close=%{public}d", __LINE__, close);
2210     EXPECT_TRUE(close);
2211     USB_HILOGI(MODULE_USB_SERVICE, "Case End : SetInterface002 : SetInterface");
2212 }
2213 
2214 /**
2215  * @tc.name: SetInterface003
2216  * @tc.desc: Test functions to SetInterface(const UsbInterface &interface);
2217  * @tc.type: FUNC
2218  */
2219 HWTEST_F(UsbDevicePipeTest, SetInterface003, TestSize.Level1)
2220 {
2221     USB_HILOGI(MODULE_USB_SERVICE, "Case Start : SetInterface003 : SetInterface");
2222     vector<UsbDevice> devi;
2223     auto &UsbSrvClient = UsbSrvClient::GetInstance();
2224     auto ret = UsbSrvClient.GetDevices(devi);
2225     EXPECT_TRUE(ret == 0);
2226     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::SetInterface003 %{public}d ret=%{public}d", __LINE__, ret);
2227     EXPECT_TRUE(!(devi.empty())) << "delist NULL";
2228     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::SetInterface003 %{public}d size=%{public}zu", __LINE__,
2229                devi.size());
2230     USBDevicePipe pipe;
2231     UsbDevice device = devi.front();
2232     UsbSrvClient.RequestRight(device.GetName());
2233     ret = UsbSrvClient.OpenDevice(device, pipe);
2234     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::SetInterface003 %{public}d OpenDevice=%{public}d", __LINE__,
2235                ret);
2236     EXPECT_TRUE(ret == 0);
2237     UsbInterface interface = device.GetConfigs().front().GetInterfaces().at(0);
2238     ret = UsbSrvClient.ClaimInterface(pipe, interface, true);
2239     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::SetInterface003 %{public}d ClaimInterface=%{public}d", __LINE__,
2240                ret);
2241     EXPECT_TRUE(ret == 0);
2242     pipe.SetDevAddr(BUFFER_SIZE);
2243     ret = UsbSrvClient.SetInterface(pipe, interface);
2244     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::SetInterface003 %{public}d SetInterface=%{public}d", __LINE__,
2245                ret);
2246     EXPECT_TRUE(ret != 0);
2247     pipe.SetDevAddr(device.GetDevAddr());
2248     bool close = UsbSrvClient.Close(pipe);
2249     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::SetInterface003 %{public}d close=%{public}d", __LINE__, close);
2250     EXPECT_TRUE(close);
2251     USB_HILOGI(MODULE_USB_SERVICE, "Case End : SetInterface003 : SetInterface");
2252 }
2253 
2254 /**
2255  * @tc.name: SetInterface004
2256  * @tc.desc: Test functions to  SetInterface(const UsbInterface &interface);
2257  * @tc.type: FUNC
2258  */
2259 HWTEST_F(UsbDevicePipeTest, SetInterface004, TestSize.Level1)
2260 {
2261     USB_HILOGI(MODULE_USB_SERVICE, "Case Start : SetInterface004 : SetInterface");
2262     vector<UsbDevice> devi;
2263     auto &UsbSrvClient = UsbSrvClient::GetInstance();
2264     auto ret = UsbSrvClient.GetDevices(devi);
2265     EXPECT_TRUE(ret == 0);
2266     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::SetInterface004 %{public}d ret=%{public}d", __LINE__, ret);
2267     EXPECT_TRUE(!(devi.empty())) << "delist NULL";
2268     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::SetInterface004 %{public}d size=%{public}zu", __LINE__,
2269                devi.size());
2270     USBDevicePipe pipe;
2271     UsbDevice device = devi.front();
2272     UsbSrvClient.RequestRight(device.GetName());
2273     ret = UsbSrvClient.OpenDevice(device, pipe);
2274     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::SetInterface004 %{public}d OpenDevice=%{public}d", __LINE__,
2275                ret);
2276     EXPECT_TRUE(ret == 0);
2277     UsbInterface interface = device.GetConfigs().at(0).GetInterfaces().at(1);
2278     ret = UsbSrvClient.ClaimInterface(pipe, interface, true);
2279     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::SetInterface004 %{public}d ClaimInterface=%{public}d", __LINE__,
2280                ret);
2281     EXPECT_TRUE(ret == 0);
2282     ret = UsbSrvClient.SetInterface(pipe, interface);
2283     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::SetInterface004 %{public}d SetInterface=%{public}d", __LINE__,
2284                ret);
2285     EXPECT_TRUE(ret == 0);
2286     bool close = UsbSrvClient.Close(pipe);
2287     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::SetInterface004 %{public}d close=%{public}d", __LINE__, close);
2288     EXPECT_TRUE(close);
2289     USB_HILOGI(MODULE_USB_SERVICE, "Case End : SetInterface004 : SetInterface");
2290 }
2291 
2292 /**
2293  * @tc.name: SetInterface005
2294  * @tc.desc: Test functions to  SetInterface(const UsbInterface &interface);
2295  * @tc.type: FUNC
2296  */
2297 HWTEST_F(UsbDevicePipeTest, SetInterface005, TestSize.Level1)
2298 {
2299     USB_HILOGI(MODULE_USB_SERVICE, "Case Start : SetInterface005 : SetInterface");
2300     vector<UsbDevice> devi;
2301     auto &UsbSrvClient = UsbSrvClient::GetInstance();
2302     auto ret = UsbSrvClient.GetDevices(devi);
2303     EXPECT_TRUE(ret == 0);
2304     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::SetInterface005 %{public}d ret=%{public}d", __LINE__, ret);
2305     EXPECT_TRUE(!(devi.empty())) << "delist NULL";
2306     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::SetInterface005 %{public}d size=%{public}zu", __LINE__,
2307                devi.size());
2308     USBDevicePipe pipe;
2309     UsbDevice device = devi.front();
2310     UsbSrvClient.RequestRight(device.GetName());
2311     ret = UsbSrvClient.OpenDevice(device, pipe);
2312     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::SetInterface005 %{public}d OpenDevice=%{public}d", __LINE__,
2313                ret);
2314     EXPECT_TRUE(ret == 0);
2315     UsbInterface interface = device.GetConfigs().at(0).GetInterfaces().at(1);
2316     ret = UsbSrvClient.ClaimInterface(pipe, interface, true);
2317     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::SetInterface005 %{public}d ClaimInterface=%{public}d", __LINE__,
2318                ret);
2319     EXPECT_TRUE(ret == 0);
2320     pipe.SetBusNum(BUFFER_SIZE);
2321     ret = UsbSrvClient.SetInterface(pipe, interface);
2322     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::SetInterface005 %{public}d SetInterface=%{public}d", __LINE__,
2323                ret);
2324     EXPECT_TRUE(ret != 0);
2325     pipe.SetBusNum(device.GetBusNum());
2326     bool close = UsbSrvClient.Close(pipe);
2327     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::SetInterface005 %{public}d close=%{public}d", __LINE__, close);
2328     EXPECT_TRUE(close);
2329     USB_HILOGI(MODULE_USB_SERVICE, "Case End : SetInterface005 : SetInterface");
2330 }
2331 
2332 /**
2333  * @tc.name: SetInterface006
2334  * @tc.desc: Test functions to  SetInterface(const UsbInterface &interface);
2335  * @tc.type: FUNC
2336  */
2337 HWTEST_F(UsbDevicePipeTest, SetInterface006, TestSize.Level1)
2338 {
2339     USB_HILOGI(MODULE_USB_SERVICE, "Case Start : SetInterface006 : SetInterface");
2340     vector<UsbDevice> devi;
2341     auto &UsbSrvClient = UsbSrvClient::GetInstance();
2342     auto ret = UsbSrvClient.GetDevices(devi);
2343     EXPECT_TRUE(ret == 0);
2344     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::SetInterface006 %{public}d ret=%{public}d", __LINE__, ret);
2345     EXPECT_TRUE(!(devi.empty())) << "delist NULL";
2346     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::SetInterface006 %{public}d size=%{public}zu", __LINE__,
2347                devi.size());
2348     USBDevicePipe pipe;
2349     UsbDevice device = devi.front();
2350     UsbSrvClient.RequestRight(device.GetName());
2351     ret = UsbSrvClient.OpenDevice(device, pipe);
2352     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::SetInterface006 %{public}d OpenDevice=%{public}d", __LINE__,
2353                ret);
2354     EXPECT_TRUE(ret == 0);
2355     UsbInterface interface = device.GetConfigs().at(0).GetInterfaces().at(1);
2356     ret = UsbSrvClient.ClaimInterface(pipe, interface, true);
2357     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::SetInterface006 %{public}d ClaimInterface=%{public}d", __LINE__,
2358                ret);
2359     EXPECT_TRUE(ret == 0);
2360     pipe.SetDevAddr(BUFFER_SIZE);
2361     ret = UsbSrvClient.SetInterface(pipe, interface);
2362     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::SetInterface006 %{public}d SetInterface=%{public}d", __LINE__,
2363                ret);
2364     EXPECT_TRUE(ret != 0);
2365     pipe.SetDevAddr(device.GetDevAddr());
2366     bool close = UsbSrvClient.Close(pipe);
2367     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::SetInterface006 %{public}d close=%{public}d", __LINE__, close);
2368     EXPECT_TRUE(close);
2369     USB_HILOGI(MODULE_USB_SERVICE, "Case End : SetInterface006 : SetInterface");
2370 }
2371 
2372 /**
2373  * @tc.name: GetRawDescriptors001
2374  * @tc.desc: Test functions to GetRawDescriptors
2375  * @tc.type: FUNC
2376  */
2377 HWTEST_F(UsbDevicePipeTest, GetRawDescriptors001, TestSize.Level1)
2378 {
2379     USB_HILOGI(MODULE_USB_SERVICE, "Case Start : GetRawDescriptors001 : GetRawDescriptors");
2380     vector<UsbDevice> devi;
2381     auto &UsbSrvClient = UsbSrvClient::GetInstance();
2382     auto ret = UsbSrvClient.GetDevices(devi);
2383     EXPECT_TRUE(ret == 0);
2384     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::GetRawDescriptors001 %{public}d ret=%{public}d", __LINE__, ret);
2385     EXPECT_TRUE(!(devi.empty())) << "delist NULL";
2386     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::GetRawDescriptors001 %{public}d size=%{public}zu", __LINE__,
2387                devi.size());
2388     USBDevicePipe pipe;
2389     UsbDevice device = devi.front();
2390     UsbSrvClient.RequestRight(device.GetName());
2391     ret = UsbSrvClient.OpenDevice(device, pipe);
2392     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::GetRawDescriptors001 %{public}d OpenDevice=%{public}d",
2393                __LINE__, ret);
2394     EXPECT_TRUE(ret == 0);
2395     std::vector<uint8_t> vData;
2396     ret = UsbSrvClient.GetRawDescriptors(pipe, vData);
2397     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::GetRawDescriptors001 %{public}d GetRawDescriptors=%{public}d",
2398                __LINE__, ret);
2399     EXPECT_TRUE(ret == 0);
2400     ret = UsbSrvClient.Close(pipe);
2401     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::Close=%{public}d", ret);
2402     EXPECT_TRUE(ret);
2403     USB_HILOGI(MODULE_USB_SERVICE, "Case End : GetRawDescriptors001 : ControlTransfer");
2404 }
2405 
2406 /**
2407  * @tc.name: GetRawDescriptors002
2408  * @tc.desc: Test functions to GetRawDescriptors
2409  * @tc.type: FUNC
2410  */
2411 HWTEST_F(UsbDevicePipeTest, GetRawDescriptors002, TestSize.Level1)
2412 {
2413     USB_HILOGI(MODULE_USB_SERVICE, "Case Start : GetRawDescriptors002 : GetRawDescriptors");
2414     vector<UsbDevice> devi;
2415     auto &UsbSrvClient = UsbSrvClient::GetInstance();
2416     auto ret = UsbSrvClient.GetDevices(devi);
2417     EXPECT_TRUE(ret == 0);
2418     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::GetRawDescriptors002 %{public}d ret=%{public}d", __LINE__, ret);
2419     EXPECT_TRUE(!(devi.empty())) << "delist NULL";
2420     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::GetRawDescriptors002 %{public}d size=%{public}zu", __LINE__,
2421                devi.size());
2422     USBDevicePipe pipe;
2423     UsbDevice device = devi.front();
2424     UsbSrvClient.RequestRight(device.GetName());
2425     ret = UsbSrvClient.OpenDevice(device, pipe);
2426     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::GetRawDescriptors002 %{public}d OpenDevice=%{public}d",
2427                __LINE__, ret);
2428     EXPECT_TRUE(ret == 0);
2429     std::vector<uint8_t> vData;
2430     USBDevicePipe pipeTmp = pipe;
2431     pipeTmp.SetBusNum(BUFFER_SIZE);
2432     ret = UsbSrvClient.GetRawDescriptors(pipeTmp, vData);
2433     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::GetRawDescriptors002 %{public}d GetRawDescriptors=%{public}d",
2434                __LINE__, ret);
2435     EXPECT_TRUE(ret != 0);
2436     ret = UsbSrvClient.Close(pipe);
2437     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::Close=%{public}d", ret);
2438     EXPECT_TRUE(ret);
2439     USB_HILOGI(MODULE_USB_SERVICE, "Case End : GetRawDescriptors002 : ControlTransfer");
2440 }
2441 
2442 /**
2443  * @tc.name: GetRawDescriptors003
2444  * @tc.desc: Test functions to GetRawDescriptors
2445  * @tc.type: FUNC
2446  */
2447 HWTEST_F(UsbDevicePipeTest, GetRawDescriptors003, TestSize.Level1)
2448 {
2449     USB_HILOGI(MODULE_USB_SERVICE, "Case Start : GetRawDescriptors003 : GetRawDescriptors");
2450     vector<UsbDevice> devi;
2451     auto &UsbSrvClient = UsbSrvClient::GetInstance();
2452     auto ret = UsbSrvClient.GetDevices(devi);
2453     EXPECT_TRUE(ret == 0);
2454     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::GetRawDescriptors003 %{public}d ret=%{public}d", __LINE__, ret);
2455     EXPECT_TRUE(!(devi.empty())) << "delist NULL";
2456     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::GetRawDescriptors003 %{public}d size=%{public}zu", __LINE__,
2457                devi.size());
2458     USBDevicePipe pipe;
2459     UsbDevice device = devi.front();
2460     UsbSrvClient.RequestRight(device.GetName());
2461     ret = UsbSrvClient.OpenDevice(device, pipe);
2462     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::GetRawDescriptors003 %{public}d OpenDevice=%{public}d",
2463                __LINE__, ret);
2464     EXPECT_TRUE(ret == 0);
2465     std::vector<uint8_t> vData;
2466     USBDevicePipe pipeTmp = pipe;
2467     pipeTmp.SetDevAddr(BUFFER_SIZE);
2468     ret = UsbSrvClient.GetRawDescriptors(pipeTmp, vData);
2469     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::GetRawDescriptors003 %{public}d GetRawDescriptors=%{public}d",
2470                __LINE__, ret);
2471     EXPECT_TRUE(ret != 0);
2472     ret = UsbSrvClient.Close(pipe);
2473     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::Close=%{public}d", ret);
2474     EXPECT_TRUE(ret);
2475     USB_HILOGI(MODULE_USB_SERVICE, "Case End : GetRawDescriptors003 : ControlTransfer");
2476 }
2477 
2478 /**
2479  * @tc.name: GetFileDescriptors001
2480  * @tc.desc: Test functions to GetRawDescriptors
2481  * @tc.type: FUNC
2482  */
2483 HWTEST_F(UsbDevicePipeTest, GetFileDescriptors001, TestSize.Level1)
2484 {
2485     USB_HILOGI(MODULE_USB_SERVICE, "Case Start : GetFileDescriptors001 : GetRawDescriptors");
2486     vector<UsbDevice> devi;
2487     auto &UsbSrvClient = UsbSrvClient::GetInstance();
2488     auto ret = UsbSrvClient.GetDevices(devi);
2489     EXPECT_TRUE(ret == 0);
2490     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::GetFileDescriptors001 %{public}d ret=%{public}d", __LINE__, ret);
2491     EXPECT_TRUE(!(devi.empty())) << "delist NULL";
2492     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::GetFileDescriptors001 %{public}d size=%{public}zu", __LINE__,
2493                devi.size());
2494     USBDevicePipe pipe;
2495     UsbDevice device = devi.front();
2496     UsbSrvClient.RequestRight(device.GetName());
2497     ret = UsbSrvClient.OpenDevice(device, pipe);
2498     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::GetFileDescriptors001 %{public}d OpenDevice=%{public}d",
2499                __LINE__, ret);
2500     EXPECT_TRUE(ret == 0);
2501     std::vector<uint8_t> vData;
2502     ret = UsbSrvClient.GetRawDescriptors(pipe, vData);
2503     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::GetFileDescriptors001 %{public}d GetRawDescriptors=%{public}d",
2504                __LINE__, ret);
2505     EXPECT_TRUE(ret == 0);
2506     int32_t fd = 0;
2507     ret = UsbSrvClient.GetFileDescriptor(pipe, fd);
2508     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::GetFileDescriptors001 %{public}d GetFileDescriptor=%{public}d",
2509                __LINE__, ret);
2510     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::GetFileDescriptors001 %{public}d fd=%{public}d",
2511                __LINE__, fd);
2512     EXPECT_TRUE(ret == 0);
2513     ret = UsbSrvClient.Close(pipe);
2514     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::Close=%{public}d", ret);
2515     EXPECT_TRUE(ret);
2516     USB_HILOGI(MODULE_USB_SERVICE, "Case End : GetFileDescriptors001 : ControlTransfer");
2517 }
2518 
2519 /**
2520  * @tc.name: GetFileDescriptors002
2521  * @tc.desc: Test functions to GetRawDescriptors
2522  * @tc.type: FUNC
2523  */
2524 HWTEST_F(UsbDevicePipeTest, GetFileDescriptors002, TestSize.Level1)
2525 {
2526     USB_HILOGI(MODULE_USB_SERVICE, "Case Start : GetFileDescriptors002 : GetRawDescriptors");
2527     vector<UsbDevice> devi;
2528     auto &UsbSrvClient = UsbSrvClient::GetInstance();
2529     auto ret = UsbSrvClient.GetDevices(devi);
2530     EXPECT_TRUE(ret == 0);
2531     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::GetFileDescriptors002 %{public}d ret=%{public}d", __LINE__, ret);
2532     EXPECT_TRUE(!(devi.empty())) << "delist NULL";
2533     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::GetFileDescriptors002 %{public}d size=%{public}zu", __LINE__,
2534                devi.size());
2535     USBDevicePipe pipe;
2536     UsbDevice device = devi.front();
2537     UsbSrvClient.RequestRight(device.GetName());
2538     ret = UsbSrvClient.OpenDevice(device, pipe);
2539     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::GetFileDescriptors002 %{public}d OpenDevice=%{public}d",
2540                __LINE__, ret);
2541     EXPECT_TRUE(ret == 0);
2542     std::vector<uint8_t> vData;
2543     ret = UsbSrvClient.GetRawDescriptors(pipe, vData);
2544     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::GetFileDescriptors002 %{public}d GetRawDescriptors=%{public}d",
2545                __LINE__, ret);
2546     EXPECT_TRUE(ret == 0);
2547     USBDevicePipe pipeTmp = pipe;
2548     pipeTmp.SetBusNum(BUFFER_SIZE);
2549     int32_t fd = 0;
2550     ret = UsbSrvClient.GetFileDescriptor(pipeTmp, fd);
2551     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::GetFileDescriptors002 %{public}d GetFileDescriptor=%{public}d",
2552                __LINE__, ret);
2553     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::GetFileDescriptors001 %{public}d fd=%{public}d",
2554                __LINE__, fd);
2555     EXPECT_TRUE(ret != 0);
2556     ret = UsbSrvClient.Close(pipe);
2557     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::Close=%{public}d", ret);
2558     EXPECT_TRUE(ret);
2559     USB_HILOGI(MODULE_USB_SERVICE, "Case End : GetFileDescriptors002 : ControlTransfer");
2560 }
2561 
2562 /**
2563  * @tc.name: GetFileDescriptors003
2564  * @tc.desc: Test functions to GetRawDescriptors
2565  * @tc.type: FUNC
2566  */
2567 HWTEST_F(UsbDevicePipeTest, GetFileDescriptors003, TestSize.Level1)
2568 {
2569     USB_HILOGI(MODULE_USB_SERVICE, "Case Start : GetFileDescriptors003 : GetRawDescriptors");
2570     vector<UsbDevice> devi;
2571     auto &UsbSrvClient = UsbSrvClient::GetInstance();
2572     auto ret = UsbSrvClient.GetDevices(devi);
2573     EXPECT_TRUE(ret == 0);
2574     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::GetFileDescriptors003 %{public}d ret=%{public}d", __LINE__, ret);
2575     EXPECT_TRUE(!(devi.empty())) << "delist NULL";
2576     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::GetFileDescriptors003 %{public}d size=%{public}zu", __LINE__,
2577                devi.size());
2578     USBDevicePipe pipe;
2579     UsbDevice device = devi.front();
2580     UsbSrvClient.RequestRight(device.GetName());
2581     ret = UsbSrvClient.OpenDevice(device, pipe);
2582     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::GetFileDescriptors003 %{public}d OpenDevice=%{public}d",
2583                __LINE__, ret);
2584     EXPECT_TRUE(ret == 0);
2585     std::vector<uint8_t> vData;
2586     ret = UsbSrvClient.GetRawDescriptors(pipe, vData);
2587     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::GetFileDescriptors003 %{public}d GetRawDescriptors=%{public}d",
2588                __LINE__, ret);
2589     EXPECT_TRUE(ret == 0);
2590     USBDevicePipe pipeTmp = pipe;
2591     pipeTmp.SetDevAddr(BUFFER_SIZE);
2592     int32_t fd = 0;
2593     ret = UsbSrvClient.GetFileDescriptor(pipeTmp, fd);
2594     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::GetFileDescriptors003 %{public}d GetFileDescriptor=%{public}d",
2595                __LINE__, ret);
2596     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::GetFileDescriptors001 %{public}d fd=%{public}d",
2597                __LINE__, fd);
2598     EXPECT_TRUE(ret != 0);
2599     ret = UsbSrvClient.Close(pipe);
2600     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::Close=%{public}d", ret);
2601     EXPECT_TRUE(ret);
2602     USB_HILOGI(MODULE_USB_SERVICE, "Case End : GetFileDescriptors003 : ControlTransfer");
2603 }
2604 } // DevicePipe
2605 } // USB
2606 } // OHOS
2607