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 #include <sys/ioctl.h>
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_common_test.h"
28 #include "usb_srv_client.h"
29 #include "usb_errors.h"
30
31 using namespace testing::ext;
32 using namespace OHOS;
33 using namespace OHOS::USB;
34 using namespace std;
35 using namespace OHOS::HDI::Usb::V1_0;
36 using namespace OHOS::HDI::Usb::V1_1;
37 using namespace OHOS::USB::Common;
38
39 namespace OHOS {
40 namespace USB {
41 namespace DevicePipe {
42 constexpr int32_t USB_BUS_NUM_INVALID = -1;
43 constexpr int32_t USB_DEV_ADDR_INVALID = -1;
44 constexpr int32_t SLEEP_TIME = 3;
45 constexpr int32_t BUFFER_SIZE = 255;
46 #define USBDEVFS_GET_SPEED _IO('U', 31)
SetUpTestCase(void)47 void UsbDevicePipeTest::SetUpTestCase(void)
48 {
49 UsbCommonTest::GrantPermissionSysNative();
50 auto &srvClient = UsbSrvClient::GetInstance();
51 auto ret = srvClient.SetPortRole(1, 1, 1);
52 sleep(SLEEP_TIME);
53 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest:: [Device] SetPortRole=%{public}d", ret);
54 ret = UsbCommonTest::SwitchErrCode(ret);
55 ASSERT_TRUE(ret == 0);
56 if (ret != 0) {
57 exit(0);
58 }
59
60 std::cout << "please connect device, press enter to continue" << std::endl;
61 int32_t c;
62 while ((c = getchar()) != '\n' && c != EOF) {
63 ;
64 }
65 USB_HILOGI(MODULE_USB_SERVICE, "Start UsbDevicePipeTest");
66 }
67
TearDownTestCase(void)68 void UsbDevicePipeTest::TearDownTestCase(void)
69 {
70 USB_HILOGI(MODULE_USB_SERVICE, "End UsbDevicePipeTest");
71 }
72
SetUp(void)73 void UsbDevicePipeTest::SetUp(void) {}
74
TearDown(void)75 void UsbDevicePipeTest::TearDown(void) {}
76
77 /**
78 * @tc.name: getDevices001
79 * @tc.desc: Test functions to getDevices(std::vector<UsbDevice> &deviceList);
80 * @tc.type: FUNC
81 */
82 HWTEST_F(UsbDevicePipeTest, getDevices001, TestSize.Level1)
83 {
84 USB_HILOGI(MODULE_USB_SERVICE, "Case Start : getDevices001 : getDevices");
85 vector<UsbDevice> devi;
86 auto &UsbSrvClient = UsbSrvClient::GetInstance();
87 auto ret = UsbSrvClient.GetDevices(devi);
88 EXPECT_TRUE(ret == 0);
89 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::getDevices001 %{public}d ret=%{public}d", __LINE__, ret);
90 EXPECT_TRUE(!(devi.empty())) << "delist NULL";
91 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::getDevices001 %{public}d size=%{public}zu", __LINE__,
92 devi.size());
93 USBDevicePipe pipe;
94 UsbDevice device = devi.front();
95 UsbSrvClient.RequestRight(device.GetName());
96 ret = UsbSrvClient.OpenDevice(device, pipe);
97 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::getDevices001 %{public}d OpenDevice=%{public}d", __LINE__, ret);
98 EXPECT_TRUE(ret == 0);
99 ret = UsbSrvClient.Close(pipe);
100 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::getDevices001 %{public}d Close=%{public}d", __LINE__, ret);
101 EXPECT_TRUE(ret);
102 USB_HILOGI(MODULE_USB_SERVICE, "Case End : getDevices001 : getDevices");
103 }
104
105 /**
106 * @tc.name: UsbOpenDevice001
107 * @tc.desc: Test functions of OpenDevice
108 * @tc.desc: int32_t OpenDevice(const UsbDevice &device, USBDevicePipe &pip)
109 * @tc.desc: 正向测试:代码正常运行,返回结果为0
110 * @tc.type: FUNC
111 */
112 HWTEST_F(UsbDevicePipeTest, UsbOpenDevice001, TestSize.Level1)
113 {
114 USB_HILOGI(MODULE_USB_SERVICE, "Case Start : UsbOpenDevice001: OpenDevice");
115 auto &UsbSrvClient = UsbSrvClient::GetInstance();
116 std::vector<UsbDevice> deviceList;
117 auto ret = UsbSrvClient.GetDevices(deviceList);
118 EXPECT_TRUE(ret == 0);
119 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::UsbOpenDevice001 %{public}d ret=%{public}d", __LINE__, ret);
120 EXPECT_TRUE(!(deviceList.empty())) << "delist NULL";
121 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::UsbOpenDevice001 %{public}d size=%{public}zu", __LINE__,
122 deviceList.size());
123 UsbDevice device = deviceList.front();
124 USBDevicePipe pipe;
125 UsbSrvClient.RequestRight(device.GetName());
126 ret = UsbSrvClient.OpenDevice(device, pipe);
127 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::UsbOpenDevice001 %{public}d OpenDevice=%{public}d", __LINE__,
128 ret);
129 EXPECT_TRUE(ret == 0);
130 ret = UsbSrvClient.Close(pipe);
131 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::Close=%{public}d", ret);
132 EXPECT_TRUE(ret);
133 USB_HILOGI(MODULE_USB_SERVICE, "Case End : UsbOpenDevice001: OpenDevice");
134 }
135
136 /**
137 * @tc.name: UsbResetDevice001
138 * @tc.desc: Test functions of ResetDevice
139 * @tc.desc: int32_t ResetDevice(const UsbDevice &device)
140 * @tc.desc: 正向测试:代码正常运行,返回结果为0
141 * @tc.type: FUNC
142 */
143 HWTEST_F(UsbDevicePipeTest, UsbResetDevice001, TestSize.Level1)
144 {
145 USB_HILOGI(MODULE_USB_SERVICE, "Case Start : UsbResetDevice001: ResetDevice");
146 auto &UsbSrvClient = UsbSrvClient::GetInstance();
147 std::vector<UsbDevice> deviceList;
148 auto ret = UsbSrvClient.GetDevices(deviceList);
149 EXPECT_TRUE(ret == 0);
150 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::UsbResetDevice001 %{public}d ret=%{public}d", __LINE__, ret);
151 EXPECT_TRUE(!(deviceList.empty())) << "delist NULL";
152 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::UsbResetDevice001 %{public}d size=%{public}zu", __LINE__,
153 deviceList.size());
154 UsbDevice device = deviceList.front();
155 USBDevicePipe pipe;
156 UsbSrvClient.RequestRight(device.GetName());
157 ret = UsbSrvClient.OpenDevice(device, pipe);
158 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::UsbResetDevice001 %{public}d OpenDevice=%{public}d", __LINE__,
159 ret);
160 ret = UsbSrvClient.ResetDevice(device, pipe);
161 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::UsbResetDevice001 %{public}d ResetDevice=%{public}d", __LINE__,
162 ret);
163 EXPECT_TRUE(ret == 0);
164 ret = UsbSrvClient.Close(pipe);
165 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::Close=%{public}d", ret);
166 EXPECT_TRUE(ret);
167 USB_HILOGI(MODULE_USB_SERVICE, "Case End : UsbResetDevice001: ResetDevice");
168 }
169
170 /**
171 * @tc.name: UsbResetDevice002
172 * @tc.desc: Test functions of ResetDevice
173 * @tc.desc: int32_t ResetDevice(const UsbDevice &device)=
174 * @tc.type: FUNC
175 */
176 HWTEST_F(UsbDevicePipeTest, UsbResetDevice002, TestSize.Level1)
177 {
178 USB_HILOGI(MODULE_USB_SERVICE, "Case Start : UsbResetDevice002: ResetDevice");
179 auto &UsbSrvClient = UsbSrvClient::GetInstance();
180 std::vector<UsbDevice> deviceList;
181 auto ret = UsbSrvClient.GetDevices(deviceList);
182 EXPECT_TRUE(ret == 0);
183 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::UsbResetDevice002 %{public}d ret=%{public}d", __LINE__, ret);
184 EXPECT_TRUE(!(deviceList.empty())) << "delist NULL";
185 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::UsbResetDevice002 %{public}d size=%{public}zu", __LINE__,
186 deviceList.size());
187 UsbDevice device = deviceList.front();
188 USBDevicePipe pipe;
189 UsbSrvClient.RequestRight(device.GetName());
190 ret = UsbSrvClient.OpenDevice(device, pipe);
191 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::UsbResetDevice002 %{public}d OpenDevice=%{public}d", __LINE__,
192 ret);
193 device.SetBusNum(USB_BUS_NUM_INVALID);
194 ret = UsbSrvClient.ResetDevice(device, pipe);
195 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::UsbResetDevice002 %{public}d ResetDevice=%{public}d", __LINE__,
196 ret);
197 EXPECT_TRUE(ret != 0);
198 ret = UsbSrvClient.Close(pipe);
199 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::Close=%{public}d", ret);
200 EXPECT_TRUE(ret);
201 USB_HILOGI(MODULE_USB_SERVICE, "Case End : UsbResetDevice002: ResetDevice");
202 }
203
204 /**
205 * @tc.name: UsbResetDevice003
206 * @tc.desc: Test functions of ResetDevice
207 * @tc.desc: int32_t ResetDevice(const UsbDevice &device)=
208 * @tc.type: FUNC
209 */
210 HWTEST_F(UsbDevicePipeTest, UsbResetDevice003, TestSize.Level1)
211 {
212 USB_HILOGI(MODULE_USB_SERVICE, "Case Start : UsbResetDevice003: ResetDevice");
213 auto &UsbSrvClient = UsbSrvClient::GetInstance();
214 std::vector<UsbDevice> deviceList;
215 auto ret = UsbSrvClient.GetDevices(deviceList);
216 EXPECT_TRUE(ret == 0);
217 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::UsbResetDevice003 %{public}d ret=%{public}d", __LINE__, ret);
218 EXPECT_TRUE(!(deviceList.empty())) << "delist NULL";
219 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::UsbResetDevice003 %{public}d size=%{public}zu", __LINE__,
220 deviceList.size());
221 UsbDevice device = deviceList.front();
222 USBDevicePipe pipe;
223 UsbSrvClient.RequestRight(device.GetName());
224 ret = UsbSrvClient.OpenDevice(device, pipe);
225 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::UsbResetDevice003 %{public}d OpenDevice=%{public}d", __LINE__,
226 ret);
227 device.SetDevAddr(USB_DEV_ADDR_INVALID);
228 ret = UsbSrvClient.ResetDevice(device, pipe);
229 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::UsbResetDevice003 %{public}d ResetDevice=%{public}d", __LINE__,
230 ret);
231 EXPECT_TRUE(ret != 0);
232 ret = UsbSrvClient.Close(pipe);
233 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::Close=%{public}d", ret);
234 EXPECT_TRUE(ret);
235 USB_HILOGI(MODULE_USB_SERVICE, "Case End : UsbResetDevice003: ResetDevice");
236 }
237
238 /**
239 * @tc.name: UsbResetDevice004
240 * @tc.desc: Test functions of ResetDevice
241 * @tc.desc: int32_t ResetDevice(const UsbDevice &device)=
242 * @tc.type: FUNC
243 */
244 HWTEST_F(UsbDevicePipeTest, UsbResetDevice004, TestSize.Level1)
245 {
246 USB_HILOGI(MODULE_USB_SERVICE, "Case Start : UsbResetDevice004: ResetDevice");
247 auto &UsbSrvClient = UsbSrvClient::GetInstance();
248 std::vector<UsbDevice> deviceList;
249 auto ret = UsbSrvClient.GetDevices(deviceList);
250 EXPECT_TRUE(ret == 0);
251 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::UsbResetDevice004 %{public}d ret=%{public}d", __LINE__, ret);
252 EXPECT_TRUE(!(deviceList.empty())) << "delist NULL";
253 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::UsbResetDevice004 %{public}d size=%{public}zu", __LINE__,
254 deviceList.size());
255 UsbDevice device = deviceList.front();
256 USBDevicePipe pipe;
257 UsbSrvClient.RequestRight(device.GetName());
258 ret = UsbSrvClient.OpenDevice(device, pipe);
259 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::UsbResetDevice004 %{public}d OpenDevice=%{public}d", __LINE__,
260 ret);
261 device.SetBusNum(USB_BUS_NUM_INVALID);
262 device.SetDevAddr(USB_DEV_ADDR_INVALID);
263 ret = UsbSrvClient.ResetDevice(device, pipe);
264 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::UsbResetDevice004 %{public}d ResetDevice=%{public}d", __LINE__,
265 ret);
266 EXPECT_TRUE(ret != 0);
267 ret = UsbSrvClient.Close(pipe);
268 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::Close=%{public}d", ret);
269 EXPECT_TRUE(ret);
270 USB_HILOGI(MODULE_USB_SERVICE, "Case End : UsbResetDevice004: ResetDevice");
271 }
272
273 /**
274 * @tc.name: Usbcontrolstansfer001
275 * @tc.desc: Test functions to ControlTransfer
276 * @tc.type: FUNC
277 */
278 HWTEST_F(UsbDevicePipeTest, Usbcontrolstansfer001, TestSize.Level1)
279 {
280 USB_HILOGI(MODULE_USB_SERVICE, "Case Start : Usbcontrolstansfer001 : ControlTransfer");
281 vector<UsbDevice> devi;
282 auto &UsbSrvClient = UsbSrvClient::GetInstance();
283 auto ret = UsbSrvClient.GetDevices(devi);
284 EXPECT_TRUE(ret == 0);
285 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::Usbcontrolstansfer001 %{public}d ret=%{public}d", __LINE__, ret);
286 EXPECT_TRUE(!(devi.empty())) << "delist NULL";
287 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::Usbcontrolstansfer001 %{public}d size=%{public}zu", __LINE__,
288 devi.size());
289 USBDevicePipe pipe;
290 UsbDevice device = devi.front();
291 UsbSrvClient.RequestRight(device.GetName());
292 ret = UsbSrvClient.OpenDevice(device, pipe);
293 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::Usbcontrolstansfer001 %{public}d OpenDevice=%{public}d",
294 __LINE__, ret);
295 EXPECT_TRUE(ret == 0);
296 uint32_t len = 8;
297 uint8_t buffer[BUFFER_SIZE] = {0};
298 struct UsbCtrlTransfer ctrldata = {0b10000000, 8, 0, 0, 500};
299 std::vector<uint8_t> ctrlbuffer = {buffer, buffer + len};
300 ret = UsbSrvClient.ControlTransfer(pipe, ctrldata, ctrlbuffer);
301 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::Usbcontrolstansfer001 %{public}d ControlTransfer=%{public}d",
302 __LINE__, ret);
303 EXPECT_TRUE(ret == 0);
304 ret = UsbSrvClient.Close(pipe);
305 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::Close=%{public}d", ret);
306 EXPECT_TRUE(ret);
307 USB_HILOGI(MODULE_USB_SERVICE, "Case End : Usbcontrolstansfer001 : ControlTransfer");
308 }
309
310 /**
311 * @tc.name: Usbcontrolstansfer002
312 * @tc.desc: Test functions to ControlTransfer
313 * @tc.type: FUNC
314 */
315 HWTEST_F(UsbDevicePipeTest, Usbcontrolstansfer002, TestSize.Level1)
316 {
317 USB_HILOGI(MODULE_USB_SERVICE, "Case Start : Usbcontrolstansfer002 : ControlTransfer");
318 vector<UsbDevice> devi;
319 auto &UsbSrvClient = UsbSrvClient::GetInstance();
320 auto ret = UsbSrvClient.GetDevices(devi);
321 EXPECT_TRUE(ret == 0);
322 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::Usbcontrolstansfer002 %{public}d ret=%{public}d", __LINE__, ret);
323 EXPECT_TRUE(!(devi.empty())) << "delist NULL";
324 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::Usbcontrolstansfer002 %{public}d size=%{public}zu", __LINE__,
325 devi.size());
326 USBDevicePipe pipe;
327 UsbDevice device = devi.front();
328 UsbSrvClient.RequestRight(device.GetName());
329 ret = UsbSrvClient.OpenDevice(device, pipe);
330 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::Usbcontrolstansfer002 %{public}d OpenDevice=%{public}d",
331 __LINE__, ret);
332 EXPECT_TRUE(ret == 0);
333 uint32_t len = 8;
334 uint8_t buffer[BUFFER_SIZE] = {0};
335 pipe.SetBusNum(BUFFER_SIZE);
336 struct UsbCtrlTransfer ctrldata = {0b10000000, 8, 0, 0, 500};
337 std::vector<uint8_t> ctrlbuffer = {buffer, buffer + len};
338 ret = UsbSrvClient.ControlTransfer(pipe, ctrldata, ctrlbuffer);
339 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::Usbcontrolstansfer002 %{public}d ControlTransfer=%{public}d",
340 __LINE__, ret);
341 EXPECT_TRUE(ret != 0);
342 pipe.SetBusNum(device.GetBusNum());
343 ret = UsbSrvClient.Close(pipe);
344 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::Close=%{public}d", ret);
345 EXPECT_TRUE(ret);
346 USB_HILOGI(MODULE_USB_SERVICE, "Case End : Usbcontrolstansfer002 : ControlTransfer");
347 }
348
349 /**
350 * @tc.name: Usbcontrolstansfer003
351 * @tc.desc: Test functions to ControlTransfer
352 * @tc.type: FUNC
353 */
354 HWTEST_F(UsbDevicePipeTest, Usbcontrolstansfer003, TestSize.Level1)
355 {
356 USB_HILOGI(MODULE_USB_SERVICE, "Case Start : Usbcontrolstansfer003 : ControlTransfer");
357 vector<UsbDevice> devi;
358 auto &UsbSrvClient = UsbSrvClient::GetInstance();
359 auto ret = UsbSrvClient.GetDevices(devi);
360 EXPECT_TRUE(ret == 0);
361 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::Usbcontrolstansfer003 %{public}d ret=%{public}d", __LINE__, ret);
362 EXPECT_TRUE(!(devi.empty())) << "delist NULL";
363 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::Usbcontrolstansfer003 %{public}d size=%{public}zu", __LINE__,
364 devi.size());
365 USBDevicePipe pipe;
366 UsbDevice device = devi.front();
367 UsbSrvClient.RequestRight(device.GetName());
368 ret = UsbSrvClient.OpenDevice(device, pipe);
369 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::Usbcontrolstansfer003 %{public}d OpenDevice=%{public}d",
370 __LINE__, ret);
371 EXPECT_TRUE(ret == 0);
372 uint32_t len = 8;
373 uint8_t buffer[BUFFER_SIZE] = {0};
374 pipe.SetDevAddr(BUFFER_SIZE);
375 struct UsbCtrlTransfer ctrldata = {0b10000000, 8, 0, 0, 500};
376 std::vector<uint8_t> ctrlbuffer = {buffer, buffer + len};
377 ret = UsbSrvClient.ControlTransfer(pipe, ctrldata, ctrlbuffer);
378 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::Usbcontrolstansfer003 %{public}d ControlTransfer=%{public}d",
379 __LINE__, ret);
380 EXPECT_TRUE(ret != 0);
381 pipe.SetDevAddr(device.GetDevAddr());
382 ret = UsbSrvClient.Close(pipe);
383 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::Close=%{public}d", ret);
384 EXPECT_TRUE(ret);
385 USB_HILOGI(MODULE_USB_SERVICE, "Case End : Usbcontrolstansfer003 : ControlTransfer");
386 }
387
388 /**
389 * @tc.name: Usbcontrolstansfer004
390 * @tc.desc: Test functions to ControlTransfer
391 * @tc.type: FUNC
392 */
393 HWTEST_F(UsbDevicePipeTest, Usbcontrolstansfer004, TestSize.Level1)
394 {
395 USB_HILOGI(MODULE_USB_SERVICE, "Case Start : Usbcontrolstansfer004 : ControlTransfer");
396 vector<UsbDevice> devi;
397 auto &UsbSrvClient = UsbSrvClient::GetInstance();
398 auto ret = UsbSrvClient.GetDevices(devi);
399 EXPECT_TRUE(ret == 0);
400 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::Usbcontrolstansfer004 %{public}d ret=%{public}d", __LINE__, ret);
401 EXPECT_TRUE(!(devi.empty())) << "delist NULL";
402 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::Usbcontrolstansfer004 %{public}d size=%{public}zu", __LINE__,
403 devi.size());
404 USBDevicePipe pipe;
405 UsbDevice device = devi.front();
406 UsbSrvClient.RequestRight(device.GetName());
407 ret = UsbSrvClient.OpenDevice(device, pipe);
408 EXPECT_TRUE(ret == 0);
409 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::Usbcontrolstansfer004 %{public}d OpenDevice=%{public}d",
410 __LINE__, ret);
411 uint32_t len = 8;
412 uint8_t buffer[BUFFER_SIZE] = {0};
413 struct UsbCtrlTransfer ctrldata = {0b10000000, 6, 0x100, 0, 500};
414 std::vector<uint8_t> ctrlbuffer = {buffer, buffer + len};
415 ret = UsbSrvClient.ControlTransfer(pipe, ctrldata, ctrlbuffer);
416 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::Usbcontrolstansfer004 %{public}d ControlTransfer=%{public}d",
417 __LINE__, ret);
418 EXPECT_TRUE(ret == 0);
419 ret = UsbSrvClient.Close(pipe);
420 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::Close=%{public}d", ret);
421 EXPECT_TRUE(ret);
422 USB_HILOGI(MODULE_USB_SERVICE, "Case End : Usbcontrolstansfer004 : ControlTransfer");
423 }
424
425 /**
426 * @tc.name: Usbcontrolstansfer005
427 * @tc.desc: Test functions to ControlTransfer
428 * @tc.type: FUNC
429 */
430 HWTEST_F(UsbDevicePipeTest, Usbcontrolstansfer005, TestSize.Level1)
431 {
432 USB_HILOGI(MODULE_USB_SERVICE, "Case Start : Usbcontrolstansfer005 : ControlTransfer");
433 vector<UsbDevice> devi;
434 auto &UsbSrvClient = UsbSrvClient::GetInstance();
435 auto ret = UsbSrvClient.GetDevices(devi);
436 EXPECT_TRUE(ret == 0);
437 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::Usbcontrolstansfer005 %{public}d ret=%{public}d", __LINE__, ret);
438 EXPECT_TRUE(!(devi.empty())) << "delist NULL";
439 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::Usbcontrolstansfer005 %{public}d size=%{public}zu", __LINE__,
440 devi.size());
441 USBDevicePipe pipe;
442 UsbDevice device = devi.front();
443 UsbSrvClient.RequestRight(device.GetName());
444 ret = UsbSrvClient.OpenDevice(device, pipe);
445 EXPECT_TRUE(ret == 0);
446 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::Usbcontrolstansfer005 %{public}d OpenDevice=%{public}d",
447 __LINE__, ret);
448 uint32_t len = 8;
449 uint8_t buffer[BUFFER_SIZE] = {0};
450 pipe.SetBusNum(BUFFER_SIZE);
451 struct UsbCtrlTransfer ctrldata = {0b10000000, 6, 0x100, 0, 500};
452 std::vector<uint8_t> ctrlbuffer = {buffer, buffer + len};
453 ret = UsbSrvClient.ControlTransfer(pipe, ctrldata, ctrlbuffer);
454 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::Usbcontrolstansfer005 %{public}d ControlTransfer=%{public}d",
455 __LINE__, ret);
456 EXPECT_TRUE(ret != 0);
457 pipe.SetBusNum(device.GetBusNum());
458 ret = UsbSrvClient.Close(pipe);
459 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::Close=%{public}d", ret);
460 EXPECT_TRUE(ret);
461 USB_HILOGI(MODULE_USB_SERVICE, "Case End : Usbcontrolstansfer005 : ControlTransfer");
462 }
463
464 /**
465 * @tc.name: Usbcontrolstansfer006
466 * @tc.desc: Test functions to ControlTransfer
467 * @tc.type: FUNC
468 */
469 HWTEST_F(UsbDevicePipeTest, Usbcontrolstansfer006, TestSize.Level1)
470 {
471 USB_HILOGI(MODULE_USB_SERVICE, "Case Start : Usbcontrolstansfer006 : ControlTransfer");
472 vector<UsbDevice> devi;
473 auto &UsbSrvClient = UsbSrvClient::GetInstance();
474 auto ret = UsbSrvClient.GetDevices(devi);
475 EXPECT_TRUE(ret == 0);
476 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::Usbcontrolstansfer006 %{public}d ret=%{public}d", __LINE__, ret);
477 EXPECT_TRUE(!(devi.empty())) << "delist NULL";
478 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::Usbcontrolstansfer006 %{public}d size=%{public}zu", __LINE__,
479 devi.size());
480 USBDevicePipe pipe;
481 UsbDevice device = devi.front();
482 UsbSrvClient.RequestRight(device.GetName());
483 ret = UsbSrvClient.OpenDevice(device, pipe);
484 EXPECT_TRUE(ret == 0);
485 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::Usbcontrolstansfer006 %{public}d OpenDevice=%{public}d",
486 __LINE__, ret);
487 uint32_t len = 8;
488 uint8_t buffer[BUFFER_SIZE] = {0};
489 pipe.SetDevAddr(BUFFER_SIZE);
490 struct UsbCtrlTransfer ctrldata = {0b10000000, 6, 0x100, 0, 500};
491 std::vector<uint8_t> ctrlbuffer = {buffer, buffer + len};
492 ret = UsbSrvClient.ControlTransfer(pipe, ctrldata, ctrlbuffer);
493 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::Usbcontrolstansfer006 %{public}d ControlTransfer=%{public}d",
494 __LINE__, ret);
495 EXPECT_TRUE(ret != 0);
496 pipe.SetDevAddr(device.GetDevAddr());
497 ret = UsbSrvClient.Close(pipe);
498 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::Close=%{public}d", ret);
499 EXPECT_TRUE(ret);
500 USB_HILOGI(MODULE_USB_SERVICE, "Case End : Usbcontrolstansfer006 : ControlTransfer");
501 }
502
503 /**
504 * @tc.name: Usbcontrolstansfer007
505 * @tc.desc: Test functions to ControlTransfer
506 * @tc.type: FUNC
507 */
508 HWTEST_F(UsbDevicePipeTest, Usbcontrolstansfer007, TestSize.Level1)
509 {
510 USB_HILOGI(MODULE_USB_SERVICE, "Case Start : Usbcontrolstansfer007 : ControlTransfer");
511 vector<UsbDevice> devi;
512 auto &UsbSrvClient = UsbSrvClient::GetInstance();
513 auto ret = UsbSrvClient.GetDevices(devi);
514 EXPECT_TRUE(ret == 0);
515 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::Usbcontrolstansfer007 %{public}d ret=%{public}d", __LINE__, ret);
516 EXPECT_TRUE(!(devi.empty())) << "delist NULL";
517 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::Usbcontrolstansfer007 %{public}d size=%{public}zu", __LINE__,
518 devi.size());
519 USBDevicePipe pipe;
520 UsbDevice device = devi.front();
521 UsbSrvClient.RequestRight(device.GetName());
522 UsbInterface interface = device.GetConfigs().front().GetInterfaces().front();
523 ret = UsbSrvClient.OpenDevice(device, pipe);
524 EXPECT_TRUE(ret == 0);
525 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::Usbcontrolstansfer007 %{public}d OpenDevice=%{public}d",
526 __LINE__, ret);
527 uint32_t len = BUFFER_SIZE;
528 uint8_t buffer[BUFFER_SIZE] = {0};
529 struct UsbCtrlTransfer ctrldata = {0b10000001, 0X0A, 0, 0, 500};
530 std::vector<uint8_t> ctrlbuffer = {buffer, buffer + len};
531 ret = UsbSrvClient.ControlTransfer(pipe, ctrldata, ctrlbuffer);
532 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::Usbcontrolstansfer007 %{public}d ControlTransfer=%{public}d",
533 __LINE__, ret);
534 EXPECT_TRUE(ret == 0);
535 ret = UsbSrvClient.Close(pipe);
536 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::Usbcontrolstansfer007 %{public}d Close=%{public}d", __LINE__,
537 ret);
538 EXPECT_TRUE(ret);
539 USB_HILOGI(MODULE_USB_SERVICE, "Case End : Usbcontrolstansfer007 : ControlTransfer");
540 }
541
542 /**
543 * @tc.name: Usbcontrolstansfer008
544 * @tc.desc: Test functions to ControlTransfer
545 * @tc.type: FUNC
546 */
547 HWTEST_F(UsbDevicePipeTest, Usbcontrolstansfer008, TestSize.Level1)
548 {
549 USB_HILOGI(MODULE_USB_SERVICE, "Case Start : Usbcontrolstansfer008 : ControlTransfer");
550 vector<UsbDevice> devi;
551 auto &UsbSrvClient = UsbSrvClient::GetInstance();
552 auto ret = UsbSrvClient.GetDevices(devi);
553 EXPECT_TRUE(ret == 0);
554 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::Usbcontrolstansfer008 %{public}d ret=%{public}d", __LINE__, ret);
555 EXPECT_TRUE(!(devi.empty())) << "delist NULL";
556 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::Usbcontrolstansfer008 %{public}d size=%{public}zu", __LINE__,
557 devi.size());
558 USBDevicePipe pipe;
559 UsbDevice device = devi.front();
560 UsbSrvClient.RequestRight(device.GetName());
561 UsbInterface interface = device.GetConfigs().front().GetInterfaces().front();
562 ret = UsbSrvClient.OpenDevice(device, pipe);
563 EXPECT_TRUE(ret == 0);
564 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::Usbcontrolstansfer008 %{public}d OpenDevice=%{public}d",
565 __LINE__, ret);
566 uint32_t len = BUFFER_SIZE;
567 uint8_t buffer[BUFFER_SIZE] = {0};
568 pipe.SetBusNum(BUFFER_SIZE);
569 struct UsbCtrlTransfer ctrldata = {0b10000001, 0X0A, 0, 0, 500};
570 std::vector<uint8_t> ctrlbuffer = {buffer, buffer + len};
571 ret = UsbSrvClient.ControlTransfer(pipe, ctrldata, ctrlbuffer);
572 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::Usbcontrolstansfer008 %{public}d ControlTransfer=%{public}d",
573 __LINE__, ret);
574 EXPECT_TRUE(ret != 0);
575 pipe.SetBusNum(device.GetBusNum());
576 ret = UsbSrvClient.Close(pipe);
577 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::Usbcontrolstansfer008 %{public}d Close=%{public}d", __LINE__,
578 ret);
579 EXPECT_TRUE(ret);
580 USB_HILOGI(MODULE_USB_SERVICE, "Case End : Usbcontrolstansfer008 : ControlTransfer");
581 }
582
583 /**
584 * @tc.name: Usbcontrolstansfer009
585 * @tc.desc: Test functions to ControlTransfer
586 * @tc.type: FUNC
587 */
588 HWTEST_F(UsbDevicePipeTest, Usbcontrolstansfer009, TestSize.Level1)
589 {
590 USB_HILOGI(MODULE_USB_SERVICE, "Case Start : Usbcontrolstansfer009 : ControlTransfer");
591 vector<UsbDevice> devi;
592 auto &UsbSrvClient = UsbSrvClient::GetInstance();
593 auto ret = UsbSrvClient.GetDevices(devi);
594 EXPECT_TRUE(ret == 0);
595 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::Usbcontrolstansfer009 %{public}d ret=%{public}d", __LINE__, ret);
596 EXPECT_TRUE(!(devi.empty())) << "delist NULL";
597 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::Usbcontrolstansfer009 %{public}d size=%{public}zu", __LINE__,
598 devi.size());
599 USBDevicePipe pipe;
600 UsbDevice device = devi.front();
601 UsbSrvClient.RequestRight(device.GetName());
602 UsbInterface interface = device.GetConfigs().front().GetInterfaces().front();
603 ret = UsbSrvClient.OpenDevice(device, pipe);
604 EXPECT_TRUE(ret == 0);
605 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::Usbcontrolstansfer009 %{public}d OpenDevice=%{public}d",
606 __LINE__, ret);
607 uint32_t len = BUFFER_SIZE;
608 uint8_t buffer[BUFFER_SIZE] = {0};
609 pipe.SetDevAddr(BUFFER_SIZE);
610 struct UsbCtrlTransfer ctrldata = {0b10000001, 0X0A, 0, 0, 500};
611 std::vector<uint8_t> ctrlbuffer = {buffer, buffer + len};
612 ret = UsbSrvClient.ControlTransfer(pipe, ctrldata, ctrlbuffer);
613 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::Usbcontrolstansfer009 %{public}d ControlTransfer=%{public}d",
614 __LINE__, ret);
615 EXPECT_TRUE(ret != 0);
616 pipe.SetDevAddr(device.GetDevAddr());
617 ret = UsbSrvClient.Close(pipe);
618 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::Usbcontrolstansfer009 %{public}d Close=%{public}d", __LINE__,
619 ret);
620 EXPECT_TRUE(ret);
621 USB_HILOGI(MODULE_USB_SERVICE, "Case End : Usbcontrolstansfer009 : ControlTransfer");
622 }
623
624 /**
625 * @tc.name: Usbcontrolstansfer010
626 * @tc.desc: Test functions to ControlTransfer
627 * @tc.type: FUNC
628 */
629 HWTEST_F(UsbDevicePipeTest, Usbcontrolstansfer010, TestSize.Level1)
630 {
631 USB_HILOGI(MODULE_USB_SERVICE, "Case Start : Usbcontrolstansfer010 : ControlTransfer");
632 vector<UsbDevice> devi;
633 auto &UsbSrvClient = UsbSrvClient::GetInstance();
634 auto ret = UsbSrvClient.GetDevices(devi);
635 EXPECT_TRUE(ret == 0);
636 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::Usbcontrolstansfer010 %{public}d ret=%{public}d", __LINE__, ret);
637 EXPECT_TRUE(!(devi.empty())) << "delist NULL";
638 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::Usbcontrolstansfer010 %{public}d size=%{public}zu", __LINE__,
639 devi.size());
640 USBDevicePipe pipe;
641 UsbDevice device = devi.front();
642 UsbSrvClient.RequestRight(device.GetName());
643 ret = UsbSrvClient.OpenDevice(device, pipe);
644 EXPECT_TRUE(ret == 0);
645 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::Usbcontrolstansfer010 %{public}d OpenDevice=%{public}d",
646 __LINE__, ret);
647 uint32_t len = BUFFER_SIZE;
648 uint8_t buffer[BUFFER_SIZE] = {0};
649 struct UsbCtrlTransfer ctrldata = {0b10000000, 0, 0, 0, 500};
650 std::vector<uint8_t> ctrlbuffer = {buffer, buffer + len};
651 ret = UsbSrvClient.ControlTransfer(pipe, ctrldata, ctrlbuffer);
652 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::Usbcontrolstansfer010 %{public}d ControlTransfer=%{public}d",
653 __LINE__, ret);
654 EXPECT_TRUE(ret == 0);
655 ret = UsbSrvClient.Close(pipe);
656 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::Usbcontrolstansfer010 %{public}d Close=%{public}d", __LINE__,
657 ret);
658 EXPECT_TRUE(ret);
659 USB_HILOGI(MODULE_USB_SERVICE, "Case End : Usbcontrolstansfer010 : ControlTransfer");
660 }
661
662 /**
663 * @tc.name: Usbcontrolstansfer011
664 * @tc.desc: Test functions to ControlTransfer
665 * @tc.type: FUNC
666 */
667 HWTEST_F(UsbDevicePipeTest, Usbcontrolstansfer011, TestSize.Level1)
668 {
669 USB_HILOGI(MODULE_USB_SERVICE, "Case Start : Usbcontrolstansfer011 : ControlTransfer");
670 vector<UsbDevice> devi;
671 auto &UsbSrvClient = UsbSrvClient::GetInstance();
672 auto ret = UsbSrvClient.GetDevices(devi);
673 EXPECT_TRUE(ret == 0);
674 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::Usbcontrolstansfer011 %{public}d ret=%{public}d", __LINE__, ret);
675 EXPECT_TRUE(!(devi.empty())) << "delist NULL";
676 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::Usbcontrolstansfer011 %{public}d size=%{public}zu", __LINE__,
677 devi.size());
678 USBDevicePipe pipe;
679 UsbDevice device = devi.front();
680 UsbSrvClient.RequestRight(device.GetName());
681 ret = UsbSrvClient.OpenDevice(device, pipe);
682 EXPECT_TRUE(ret == 0);
683 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::Usbcontrolstansfer011 %{public}d OpenDevice=%{public}d",
684 __LINE__, ret);
685 uint32_t len = BUFFER_SIZE;
686 uint8_t buffer[BUFFER_SIZE] = {0};
687 pipe.SetBusNum(BUFFER_SIZE);
688 struct UsbCtrlTransfer ctrldata = {0b10000000, 0, 0, 0, 500};
689 std::vector<uint8_t> ctrlbuffer = {buffer, buffer + len};
690 ret = UsbSrvClient.ControlTransfer(pipe, ctrldata, ctrlbuffer);
691 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::Usbcontrolstansfer011 %{public}d ControlTransfer=%{public}d",
692 __LINE__, ret);
693 EXPECT_TRUE(ret != 0);
694 pipe.SetBusNum(device.GetBusNum());
695 ret = UsbSrvClient.Close(pipe);
696 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::Usbcontrolstansfer011 %{public}d Close=%{public}d", __LINE__,
697 ret);
698 EXPECT_TRUE(ret);
699 USB_HILOGI(MODULE_USB_SERVICE, "Case End : Usbcontrolstansfer011 : ControlTransfer");
700 }
701
702 /**
703 * @tc.name: Usbcontrolstansfer012
704 * @tc.desc: Test functions to ControlTransfer
705 * @tc.type: FUNC
706 */
707 HWTEST_F(UsbDevicePipeTest, Usbcontrolstansfer012, TestSize.Level1)
708 {
709 USB_HILOGI(MODULE_USB_SERVICE, "Case Start : Usbcontrolstansfer012 : ControlTransfer");
710 vector<UsbDevice> devi;
711 auto &UsbSrvClient = UsbSrvClient::GetInstance();
712 auto ret = UsbSrvClient.GetDevices(devi);
713 EXPECT_TRUE(ret == 0);
714 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::Usbcontrolstansfer012 %{public}d ret=%{public}d", __LINE__, ret);
715 EXPECT_TRUE(!(devi.empty())) << "delist NULL";
716 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::Usbcontrolstansfer012 %{public}d size=%{public}zu", __LINE__,
717 devi.size());
718 USBDevicePipe pipe;
719 UsbDevice device = devi.front();
720 UsbSrvClient.RequestRight(device.GetName());
721 ret = UsbSrvClient.OpenDevice(device, pipe);
722 EXPECT_TRUE(ret == 0);
723 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::Usbcontrolstansfer012 %{public}d OpenDevice=%{public}d",
724 __LINE__, ret);
725 uint32_t len = BUFFER_SIZE;
726 uint8_t buffer[BUFFER_SIZE] = {0};
727 pipe.SetDevAddr(BUFFER_SIZE);
728 struct UsbCtrlTransfer ctrldata = {0b10000000, 0, 0, 0, 500};
729 std::vector<uint8_t> ctrlbuffer = {buffer, buffer + len};
730 ret = UsbSrvClient.ControlTransfer(pipe, ctrldata, ctrlbuffer);
731 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::Usbcontrolstansfer012 %{public}d ControlTransfer=%{public}d",
732 __LINE__, ret);
733 EXPECT_TRUE(ret != 0);
734 pipe.SetDevAddr(device.GetDevAddr());
735 ret = UsbSrvClient.Close(pipe);
736 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::Usbcontrolstansfer012 %{public}d Close=%{public}d", __LINE__,
737 ret);
738 EXPECT_TRUE(ret);
739 USB_HILOGI(MODULE_USB_SERVICE, "Case End : Usbcontrolstansfer012 : ControlTransfer");
740 }
741
742 /**
743 * @tc.name: Usbcontrolstansfer0013
744 * @tc.desc: Test functions to ControlTransfer
745 * @tc.type: FUNC
746 */
747 HWTEST_F(UsbDevicePipeTest, Usbcontrolstansfer0013, TestSize.Level1)
748 {
749 USB_HILOGI(MODULE_USB_SERVICE, "Case Start : Usbcontrolstansfer0013 : ControlTransfer");
750 vector<UsbDevice> devi;
751 auto &UsbSrvClient = UsbSrvClient::GetInstance();
752 auto ret = UsbSrvClient.GetDevices(devi);
753 EXPECT_TRUE(ret == 0);
754 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::Usbcontrolstansfer0013 %{public}d ret=%{public}d", __LINE__,
755 ret);
756 EXPECT_TRUE(!(devi.empty())) << "delist NULL";
757 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::Usbcontrolstansfer0013 %{public}d size=%{public}zu", __LINE__,
758 devi.size());
759 USBDevicePipe pipe;
760 UsbDevice device = devi.front();
761 UsbSrvClient.RequestRight(device.GetName());
762 ret = UsbSrvClient.OpenDevice(device, pipe);
763 EXPECT_TRUE(ret == 0);
764 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::Usbcontrolstansfer0013 %{public}d OpenDevice=%{public}d",
765 __LINE__, ret);
766 uint32_t len = BUFFER_SIZE;
767 uint8_t buffer[BUFFER_SIZE] = {0};
768 struct UsbCtrlTransfer ctrldata = {0b10000001, 0, 0, 0, 500};
769 std::vector<uint8_t> ctrlbuffer = {buffer, buffer + len};
770 ret = UsbSrvClient.ControlTransfer(pipe, ctrldata, ctrlbuffer);
771 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::Usbcontrolstansfer0013 %{public}d ControlTransfer=%{public}d",
772 __LINE__, ret);
773 EXPECT_TRUE(ret == 0);
774 ret = UsbSrvClient.Close(pipe);
775 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::Usbcontrolstansfer0013 %{public}d Close=%{public}d", __LINE__,
776 ret);
777 EXPECT_TRUE(ret);
778 USB_HILOGI(MODULE_USB_SERVICE, "Case End : Usbcontrolstansfer0013 : ControlTransfer");
779 }
780
781 /**
782 * @tc.name: Usbcontrolstansfer0014
783 * @tc.desc: Test functions to ControlTransfer
784 * @tc.type: FUNC
785 */
786 HWTEST_F(UsbDevicePipeTest, Usbcontrolstansfer0014, TestSize.Level1)
787 {
788 USB_HILOGI(MODULE_USB_SERVICE, "Case Start : Usbcontrolstansfer0014 : ControlTransfer");
789 vector<UsbDevice> devi;
790 auto &UsbSrvClient = UsbSrvClient::GetInstance();
791 auto ret = UsbSrvClient.GetDevices(devi);
792 EXPECT_TRUE(ret == 0);
793 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::Usbcontrolstansfer0014 %{public}d ret=%{public}d", __LINE__,
794 ret);
795 EXPECT_TRUE(!(devi.empty())) << "delist NULL";
796 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::Usbcontrolstansfer0014 %{public}d size=%{public}zu", __LINE__,
797 devi.size());
798 USBDevicePipe pipe;
799 UsbDevice device = devi.front();
800 UsbSrvClient.RequestRight(device.GetName());
801 ret = UsbSrvClient.OpenDevice(device, pipe);
802 EXPECT_TRUE(ret == 0);
803 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::Usbcontrolstansfer0014 %{public}d OpenDevice=%{public}d",
804 __LINE__, ret);
805 uint32_t len = BUFFER_SIZE;
806 uint8_t buffer[BUFFER_SIZE] = {0};
807 pipe.SetBusNum(BUFFER_SIZE);
808 struct UsbCtrlTransfer ctrldata = {0b10000001, 0, 0, 0, 500};
809 std::vector<uint8_t> ctrlbuffer = {buffer, buffer + len};
810 ret = UsbSrvClient.ControlTransfer(pipe, ctrldata, ctrlbuffer);
811 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::Usbcontrolstansfer0014 %{public}d ControlTransfer=%{public}d",
812 __LINE__, ret);
813 EXPECT_TRUE(ret != 0);
814 pipe.SetBusNum(device.GetBusNum());
815 ret = UsbSrvClient.Close(pipe);
816 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::Usbcontrolstansfer0014 %{public}d Close=%{public}d", __LINE__,
817 ret);
818 EXPECT_TRUE(ret);
819 USB_HILOGI(MODULE_USB_SERVICE, "Case End : Usbcontrolstansfer0014 : ControlTransfer");
820 }
821
822 /**
823 * @tc.name: Usbcontrolstansfer0015
824 * @tc.desc: Test functions to ControlTransfer
825 * @tc.type: FUNC
826 */
827 HWTEST_F(UsbDevicePipeTest, Usbcontrolstansfer0015, TestSize.Level1)
828 {
829 USB_HILOGI(MODULE_USB_SERVICE, "Case Start : Usbcontrolstansfer0015 : ControlTransfer");
830 vector<UsbDevice> devi;
831 auto &UsbSrvClient = UsbSrvClient::GetInstance();
832 auto ret = UsbSrvClient.GetDevices(devi);
833 EXPECT_TRUE(ret == 0);
834 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::Usbcontrolstansfer0015 %{public}d ret=%{public}d", __LINE__,
835 ret);
836 EXPECT_TRUE(!(devi.empty())) << "delist NULL";
837 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::Usbcontrolstansfer0015 %{public}d size=%{public}zu", __LINE__,
838 devi.size());
839 USBDevicePipe pipe;
840 UsbDevice device = devi.front();
841 UsbSrvClient.RequestRight(device.GetName());
842 ret = UsbSrvClient.OpenDevice(device, pipe);
843 EXPECT_TRUE(ret == 0);
844 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::Usbcontrolstansfer0015 %{public}d OpenDevice=%{public}d",
845 __LINE__, ret);
846 uint32_t len = BUFFER_SIZE;
847 uint8_t buffer[BUFFER_SIZE] = {0};
848 pipe.SetDevAddr(BUFFER_SIZE);
849 struct UsbCtrlTransfer ctrldata = {0b10000001, 0, 0, 0, 500};
850 std::vector<uint8_t> ctrlbuffer = {buffer, buffer + len};
851 ret = UsbSrvClient.ControlTransfer(pipe, ctrldata, ctrlbuffer);
852 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::Usbcontrolstansfer0015 %{public}d ControlTransfer=%{public}d",
853 __LINE__, ret);
854 EXPECT_TRUE(ret != 0);
855 pipe.SetDevAddr(device.GetDevAddr());
856 ret = UsbSrvClient.Close(pipe);
857 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::Usbcontrolstansfer0015 %{public}d Close=%{public}d", __LINE__,
858 ret);
859 EXPECT_TRUE(ret);
860 USB_HILOGI(MODULE_USB_SERVICE, "Case End : Usbcontrolstansfer0015 : ControlTransfer");
861 }
862
863 /**
864 * @tc.name: Usbcontrolstansfer016
865 * @tc.desc: Test functions to ControlTransfer
866 * @tc.type: FUNC
867 */
868 HWTEST_F(UsbDevicePipeTest, Usbcontrolstansfer016, TestSize.Level1)
869 {
870 USB_HILOGI(MODULE_USB_SERVICE, "Case Start : Usbcontrolstansfer016 : ControlTransfer");
871 vector<UsbDevice> devi;
872 auto &UsbSrvClient = UsbSrvClient::GetInstance();
873 auto ret = UsbSrvClient.GetDevices(devi);
874 EXPECT_TRUE(ret == 0);
875 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::Usbcontrolstansfer016 %{public}d ret=%{public}d", __LINE__, ret);
876 EXPECT_TRUE(!(devi.empty())) << "delist NULL";
877 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::Usbcontrolstansfer016 %{public}d size=%{public}zu", __LINE__,
878 devi.size());
879 USBDevicePipe pipe;
880 UsbDevice device = devi.front();
881 UsbSrvClient.RequestRight(device.GetName());
882 ret = UsbSrvClient.OpenDevice(device, pipe);
883 EXPECT_TRUE(ret == 0);
884 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::Usbcontrolstansfer016 %{public}d OpenDevice=%{public}d",
885 __LINE__, ret);
886 uint32_t len = 16;
887 uint8_t buffer[BUFFER_SIZE] = {0};
888 struct UsbCtrlTransfer ctrldata = {0b10000010, 0, 0, 0, 500};
889 std::vector<uint8_t> ctrlbuffer = {buffer, buffer + len};
890 ret = UsbSrvClient.ControlTransfer(pipe, ctrldata, ctrlbuffer);
891 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::Usbcontrolstansfer016 %{public}d ControlTransfer=%{public}d",
892 __LINE__, ret);
893 EXPECT_TRUE(ret == 0);
894 ret = UsbSrvClient.Close(pipe);
895 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::Usbcontrolstansfer016 %{public}d Close=%{public}d", __LINE__,
896 ret);
897 EXPECT_TRUE(ret);
898 USB_HILOGI(MODULE_USB_SERVICE, "Case End : Usbcontrolstansfer016 : ControlTransfer");
899 }
900
901 /**
902 * @tc.name: Usbcontrolstansfer017
903 * @tc.desc: Test functions to ControlTransfer
904 * @tc.type: FUNC
905 */
906 HWTEST_F(UsbDevicePipeTest, Usbcontrolstansfer017, TestSize.Level1)
907 {
908 USB_HILOGI(MODULE_USB_SERVICE, "Case Start : Usbcontrolstansfer017 : ControlTransfer");
909 vector<UsbDevice> devi;
910 auto &UsbSrvClient = UsbSrvClient::GetInstance();
911 auto ret = UsbSrvClient.GetDevices(devi);
912 EXPECT_TRUE(ret == 0);
913 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::Usbcontrolstansfer017 %{public}d ret=%{public}d", __LINE__, ret);
914 EXPECT_TRUE(!(devi.empty())) << "delist NULL";
915 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::Usbcontrolstansfer017 %{public}d size=%{public}zu", __LINE__,
916 devi.size());
917 USBDevicePipe pipe;
918 UsbDevice device = devi.front();
919 UsbSrvClient.RequestRight(device.GetName());
920 ret = UsbSrvClient.OpenDevice(device, pipe);
921 EXPECT_TRUE(ret == 0);
922 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::Usbcontrolstansfer017 %{public}d OpenDevice=%{public}d",
923 __LINE__, ret);
924 uint32_t len = 16;
925 uint8_t buffer[BUFFER_SIZE] = {0};
926 pipe.SetBusNum(BUFFER_SIZE);
927 struct UsbCtrlTransfer ctrldata = {0b10000010, 0, 0, 0, 500};
928 std::vector<uint8_t> ctrlbuffer = {buffer, buffer + len};
929 ret = UsbSrvClient.ControlTransfer(pipe, ctrldata, ctrlbuffer);
930 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::Usbcontrolstansfer017 %{public}d ControlTransfer=%{public}d",
931 __LINE__, ret);
932 EXPECT_TRUE(ret != 0);
933 pipe.SetBusNum(device.GetBusNum());
934 ret = UsbSrvClient.Close(pipe);
935 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::Usbcontrolstansfer017 %{public}d Close=%{public}d", __LINE__,
936 ret);
937 EXPECT_TRUE(ret);
938 USB_HILOGI(MODULE_USB_SERVICE, "Case End : Usbcontrolstansfer017 : ControlTransfer");
939 }
940
941 /**
942 * @tc.name: Usbcontrolstansfer018
943 * @tc.desc: Test functions to ControlTransfer
944 * @tc.type: FUNC
945 */
946 HWTEST_F(UsbDevicePipeTest, Usbcontrolstansfer018, TestSize.Level1)
947 {
948 USB_HILOGI(MODULE_USB_SERVICE, "Case Start : Usbcontrolstansfer018 : ControlTransfer");
949 vector<UsbDevice> devi;
950 auto &UsbSrvClient = UsbSrvClient::GetInstance();
951 auto ret = UsbSrvClient.GetDevices(devi);
952 EXPECT_TRUE(ret == 0);
953 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::Usbcontrolstansfer018 %{public}d ret=%{public}d", __LINE__, ret);
954 EXPECT_TRUE(!(devi.empty())) << "delist NULL";
955 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::Usbcontrolstansfer018 %{public}d size=%{public}zu", __LINE__,
956 devi.size());
957 USBDevicePipe pipe;
958 UsbDevice device = devi.front();
959 UsbSrvClient.RequestRight(device.GetName());
960 ret = UsbSrvClient.OpenDevice(device, pipe);
961 EXPECT_TRUE(ret == 0);
962 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::Usbcontrolstansfer018 %{public}d OpenDevice=%{public}d",
963 __LINE__, ret);
964 uint32_t len = 16;
965 uint8_t buffer[BUFFER_SIZE] = {0};
966 pipe.SetDevAddr(BUFFER_SIZE);
967 struct UsbCtrlTransfer ctrldata = {0b10000010, 0, 0, 0, 500};
968 std::vector<uint8_t> ctrlbuffer = {buffer, buffer + len};
969 ret = UsbSrvClient.ControlTransfer(pipe, ctrldata, ctrlbuffer);
970 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::Usbcontrolstansfer018 %{public}d ControlTransfer=%{public}d",
971 __LINE__, ret);
972 EXPECT_TRUE(ret != 0);
973 pipe.SetDevAddr(device.GetDevAddr());
974 ret = UsbSrvClient.Close(pipe);
975 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::Usbcontrolstansfer018 %{public}d Close=%{public}d", __LINE__,
976 ret);
977 EXPECT_TRUE(ret);
978 USB_HILOGI(MODULE_USB_SERVICE, "Case End : Usbcontrolstansfer018 : ControlTransfer");
979 }
980
981 /**
982 * @tc.name: Usbcontrolstansfer019
983 * @tc.desc: Test functions to ControlTransfer
984 * @tc.type: FUNC
985 */
986 HWTEST_F(UsbDevicePipeTest, Usbcontrolstansfer019, TestSize.Level1)
987 {
988 USB_HILOGI(MODULE_USB_SERVICE, "Case Start : Usbcontrolstansfer019 : ControlTransfer");
989 vector<UsbDevice> devi;
990 auto &UsbSrvClient = UsbSrvClient::GetInstance();
991 auto ret = UsbSrvClient.GetDevices(devi);
992 EXPECT_TRUE(ret == 0);
993 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::Usbcontrolstansfer019 %{public}d ret=%{public}d", __LINE__, ret);
994 EXPECT_TRUE(!(devi.empty())) << "delist NULL";
995 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::Usbcontrolstansfer019 %{public}d size=%{public}zu", __LINE__,
996 devi.size());
997 USBDevicePipe pipe;
998 UsbDevice device = devi.front();
999 UsbSrvClient.RequestRight(device.GetName());
1000 ret = UsbSrvClient.OpenDevice(device, pipe);
1001 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::Usbcontrolstansfer019 %{public}d OpenDevice=%{public}d",
1002 __LINE__, ret);
1003 EXPECT_TRUE(ret == 0);
1004 uint32_t len = BUFFER_SIZE;
1005 uint8_t buffer[BUFFER_SIZE] = {0};
1006 struct UsbCtrlTransfer ctrldata = {0b10000010, 0X0C, 0, 0, 500};
1007 std::vector<uint8_t> ctrlbuffer = {buffer, buffer + len};
1008 ret = UsbSrvClient.ControlTransfer(pipe, ctrldata, ctrlbuffer);
1009 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::Usbcontrolstansfer019 %{public}d ControlTransfer=%{public}d",
1010 __LINE__, ret);
1011 EXPECT_TRUE(ret == 0);
1012 ret = UsbSrvClient.Close(pipe);
1013 USB_HILOGI(MODULE_USB_SERVICE, "UsbCoreTest::Close=%{public}d", ret);
1014 EXPECT_TRUE(ret);
1015 USB_HILOGI(MODULE_USB_SERVICE, "Case End : Usbcontrolstansfer019 : ControlTransfer");
1016 }
1017
1018 /**
1019 * @tc.name: Usbcontrolstansfer020
1020 * @tc.desc: Test functions to ControlTransfer
1021 * @tc.type: FUNC
1022 */
1023 HWTEST_F(UsbDevicePipeTest, Usbcontrolstansfer020, TestSize.Level1)
1024 {
1025 USB_HILOGI(MODULE_USB_SERVICE, "Case Start : Usbcontrolstansfer020 : ControlTransfer");
1026 vector<UsbDevice> devi;
1027 auto &UsbSrvClient = UsbSrvClient::GetInstance();
1028 auto ret = UsbSrvClient.GetDevices(devi);
1029 EXPECT_TRUE(ret == 0);
1030 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::Usbcontrolstansfer020 %{public}d ret=%{public}d", __LINE__, ret);
1031 EXPECT_TRUE(!(devi.empty())) << "delist NULL";
1032 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::Usbcontrolstansfer020 %{public}d size=%{public}zu", __LINE__,
1033 devi.size());
1034 USBDevicePipe pipe;
1035 UsbDevice device = devi.front();
1036 UsbSrvClient.RequestRight(device.GetName());
1037 ret = UsbSrvClient.OpenDevice(device, pipe);
1038 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::Usbcontrolstansfer020 %{public}d OpenDevice=%{public}d",
1039 __LINE__, ret);
1040 EXPECT_TRUE(ret == 0);
1041 uint32_t len = BUFFER_SIZE;
1042 uint8_t buffer[BUFFER_SIZE] = {0};
1043 pipe.SetBusNum(BUFFER_SIZE);
1044 struct UsbCtrlTransfer ctrldata = {0b10000010, 0X0C, 0, 0, 500};
1045 std::vector<uint8_t> ctrlbuffer = {buffer, buffer + len};
1046 ret = UsbSrvClient.ControlTransfer(pipe, ctrldata, ctrlbuffer);
1047 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::Usbcontrolstansfer020 %{public}d ControlTransfer=%{public}d",
1048 __LINE__, ret);
1049 EXPECT_TRUE(ret != 0);
1050 pipe.SetBusNum(device.GetBusNum());
1051 ret = UsbSrvClient.Close(pipe);
1052 USB_HILOGI(MODULE_USB_SERVICE, "UsbCoreTest::Close=%{public}d", ret);
1053 EXPECT_TRUE(ret);
1054 USB_HILOGI(MODULE_USB_SERVICE, "Case End : Usbcontrolstansfer020 : ControlTransfer");
1055 }
1056
1057 /**
1058 * @tc.name: Usbcontrolstansfer021
1059 * @tc.desc: Test functions to ControlTransfer
1060 * @tc.type: FUNC
1061 */
1062 HWTEST_F(UsbDevicePipeTest, Usbcontrolstansfer021, TestSize.Level1)
1063 {
1064 USB_HILOGI(MODULE_USB_SERVICE, "Case Start : Usbcontrolstansfer021 : ControlTransfer");
1065 vector<UsbDevice> devi;
1066 auto &UsbSrvClient = UsbSrvClient::GetInstance();
1067 auto ret = UsbSrvClient.GetDevices(devi);
1068 EXPECT_TRUE(ret == 0);
1069 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::Usbcontrolstansfer021 %{public}d ret=%{public}d", __LINE__, ret);
1070 EXPECT_TRUE(!(devi.empty())) << "delist NULL";
1071 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::Usbcontrolstansfer021 %{public}d size=%{public}zu", __LINE__,
1072 devi.size());
1073 USBDevicePipe pipe;
1074 UsbDevice device = devi.front();
1075 UsbSrvClient.RequestRight(device.GetName());
1076 ret = UsbSrvClient.OpenDevice(device, pipe);
1077 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::Usbcontrolstansfer021 %{public}d OpenDevice=%{public}d",
1078 __LINE__, ret);
1079 EXPECT_TRUE(ret == 0);
1080 uint32_t len = BUFFER_SIZE;
1081 uint8_t buffer[BUFFER_SIZE] = {0};
1082 pipe.SetDevAddr(BUFFER_SIZE);
1083 struct UsbCtrlTransfer ctrldata = {0b10000010, 0X0C, 0, 0, 500};
1084 std::vector<uint8_t> ctrlbuffer = {buffer, buffer + len};
1085 ret = UsbSrvClient.ControlTransfer(pipe, ctrldata, ctrlbuffer);
1086 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::Usbcontrolstansfer021 %{public}d ControlTransfer=%{public}d",
1087 __LINE__, ret);
1088 EXPECT_TRUE(ret != 0);
1089 pipe.SetDevAddr(device.GetDevAddr());
1090 ret = UsbSrvClient.Close(pipe);
1091 USB_HILOGI(MODULE_USB_SERVICE, "UsbCoreTest::Close=%{public}d", ret);
1092 EXPECT_TRUE(ret);
1093 USB_HILOGI(MODULE_USB_SERVICE, "Case End : Usbcontrolstansfer021 : ControlTransfer");
1094 }
1095
1096 /**
1097 * @tc.name: Usbcontrolstansfer022
1098 * @tc.desc: Test functions to UsbControlTransfer
1099 * @tc.type: FUNC
1100 */
1101 HWTEST_F(UsbDevicePipeTest, Usbcontrolstansfer022, TestSize.Level1)
1102 {
1103 USB_HILOGI(MODULE_USB_SERVICE, "Case Start : Usbcontrolstansfer022 : UsbControlTransfer");
1104 vector<UsbDevice> devi;
1105 auto &UsbSrvClient = UsbSrvClient::GetInstance();
1106 auto ret = UsbSrvClient.GetDevices(devi);
1107 EXPECT_TRUE(ret == 0);
1108 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::Usbcontrolstansfer022 %{public}d ret=%{public}d", __LINE__, ret);
1109 EXPECT_TRUE(!(devi.empty())) << "delist NULL";
1110 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::Usbcontrolstansfer022 %{public}d size=%{public}zu", __LINE__,
1111 devi.size());
1112 USBDevicePipe pipe;
1113 UsbDevice device = devi.front();
1114 UsbSrvClient.RequestRight(device.GetName());
1115 ret = UsbSrvClient.OpenDevice(device, pipe);
1116 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::Usbcontrolstansfer022 %{public}d OpenDevice=%{public}d",
1117 __LINE__, ret);
1118 EXPECT_TRUE(ret == 0);
1119 uint32_t len = 8;
1120 uint8_t buffer[BUFFER_SIZE] = {0};
1121 struct UsbCtrlTransferParams ctrldata = {0b10000000, 8, 0, 0, 0, 500};
1122 std::vector<uint8_t> ctrlbuffer = {buffer, buffer + len};
1123 ret = UsbSrvClient.UsbControlTransfer(pipe, ctrldata, ctrlbuffer);
1124 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::Usbcontrolstansfer022 %{public}d UsbControlTransfer=%{public}d",
1125 __LINE__, ret);
1126 EXPECT_TRUE(ret == 0);
1127 ret = UsbSrvClient.Close(pipe);
1128 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::Close=%{public}d", ret);
1129 EXPECT_TRUE(ret);
1130 USB_HILOGI(MODULE_USB_SERVICE, "Case End : Usbcontrolstansfer022 : UsbControlTransfer");
1131 }
1132
1133 /**
1134 * @tc.name: Usbcontrolstansfer023
1135 * @tc.desc: Test functions to UsbControlTransfer
1136 * @tc.type: FUNC
1137 */
1138 HWTEST_F(UsbDevicePipeTest, Usbcontrolstansfer023, TestSize.Level1)
1139 {
1140 USB_HILOGI(MODULE_USB_SERVICE, "Case Start : Usbcontrolstansfer023 : UsbControlTransfer");
1141 vector<UsbDevice> devi;
1142 auto &UsbSrvClient = UsbSrvClient::GetInstance();
1143 auto ret = UsbSrvClient.GetDevices(devi);
1144 EXPECT_TRUE(ret == 0);
1145 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::Usbcontrolstansfer023 %{public}d ret=%{public}d", __LINE__, ret);
1146 EXPECT_TRUE(!(devi.empty())) << "delist NULL";
1147 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::Usbcontrolstansfer023 %{public}d size=%{public}zu", __LINE__,
1148 devi.size());
1149 USBDevicePipe pipe;
1150 UsbDevice device = devi.front();
1151 UsbSrvClient.RequestRight(device.GetName());
1152 ret = UsbSrvClient.OpenDevice(device, pipe);
1153 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::Usbcontrolstansfer023 %{public}d OpenDevice=%{public}d",
1154 __LINE__, ret);
1155 EXPECT_TRUE(ret == 0);
1156 uint32_t len = 8;
1157 uint8_t buffer[BUFFER_SIZE] = {0};
1158 pipe.SetBusNum(BUFFER_SIZE);
1159 struct UsbCtrlTransferParams ctrldata = {0b10000000, 8, 0, 0, 0, 500};
1160 std::vector<uint8_t> ctrlbuffer = {buffer, buffer + len};
1161 ret = UsbSrvClient.UsbControlTransfer(pipe, ctrldata, ctrlbuffer);
1162 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::Usbcontrolstansfer023 %{public}d UsbControlTransfer=%{public}d",
1163 __LINE__, ret);
1164 EXPECT_TRUE(ret != 0);
1165 pipe.SetBusNum(device.GetBusNum());
1166 ret = UsbSrvClient.Close(pipe);
1167 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::Close=%{public}d", ret);
1168 EXPECT_TRUE(ret);
1169 USB_HILOGI(MODULE_USB_SERVICE, "Case End : Usbcontrolstansfer023 : UsbControlTransfer");
1170 }
1171
1172 /**
1173 * @tc.name: Usbcontrolstansfer024
1174 * @tc.desc: Test functions to UsbControlTransfer
1175 * @tc.type: FUNC
1176 */
1177 HWTEST_F(UsbDevicePipeTest, Usbcontrolstansfer024, TestSize.Level1)
1178 {
1179 USB_HILOGI(MODULE_USB_SERVICE, "Case Start : Usbcontrolstansfer024 : UsbControlTransfer");
1180 vector<UsbDevice> devi;
1181 auto &UsbSrvClient = UsbSrvClient::GetInstance();
1182 auto ret = UsbSrvClient.GetDevices(devi);
1183 EXPECT_TRUE(ret == 0);
1184 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::Usbcontrolstansfer024 %{public}d ret=%{public}d", __LINE__, ret);
1185 EXPECT_TRUE(!(devi.empty())) << "delist NULL";
1186 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::Usbcontrolstansfer024 %{public}d size=%{public}zu", __LINE__,
1187 devi.size());
1188 USBDevicePipe pipe;
1189 UsbDevice device = devi.front();
1190 UsbSrvClient.RequestRight(device.GetName());
1191 ret = UsbSrvClient.OpenDevice(device, pipe);
1192 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::Usbcontrolstansfer024 %{public}d OpenDevice=%{public}d",
1193 __LINE__, ret);
1194 EXPECT_TRUE(ret == 0);
1195 uint32_t len = 8;
1196 uint8_t buffer[BUFFER_SIZE] = {0};
1197 pipe.SetDevAddr(BUFFER_SIZE);
1198 struct UsbCtrlTransferParams ctrldata = {0b10000000, 8, 0, 0, 0, 500};
1199 std::vector<uint8_t> ctrlbuffer = {buffer, buffer + len};
1200 ret = UsbSrvClient.UsbControlTransfer(pipe, ctrldata, ctrlbuffer);
1201 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::Usbcontrolstansfer024 %{public}d UsbControlTransfer=%{public}d",
1202 __LINE__, ret);
1203 EXPECT_TRUE(ret != 0);
1204 pipe.SetDevAddr(device.GetDevAddr());
1205 ret = UsbSrvClient.Close(pipe);
1206 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::Close=%{public}d", ret);
1207 EXPECT_TRUE(ret);
1208 USB_HILOGI(MODULE_USB_SERVICE, "Case End : Usbcontrolstansfer024 : UsbControlTransfer");
1209 }
1210
1211 /**
1212 * @tc.name: Usbcontrolstansfer025
1213 * @tc.desc: Test functions to UsbControlTransfer
1214 * @tc.type: FUNC
1215 */
1216 HWTEST_F(UsbDevicePipeTest, Usbcontrolstansfer025, TestSize.Level1)
1217 {
1218 USB_HILOGI(MODULE_USB_SERVICE, "Case Start : Usbcontrolstansfer025 : UsbControlTransfer");
1219 vector<UsbDevice> devi;
1220 auto &UsbSrvClient = UsbSrvClient::GetInstance();
1221 auto ret = UsbSrvClient.GetDevices(devi);
1222 EXPECT_TRUE(ret == 0);
1223 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::Usbcontrolstansfer025 %{public}d ret=%{public}d", __LINE__, ret);
1224 EXPECT_TRUE(!(devi.empty())) << "delist NULL";
1225 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::Usbcontrolstansfer025 %{public}d size=%{public}zu", __LINE__,
1226 devi.size());
1227 USBDevicePipe pipe;
1228 UsbDevice device = devi.front();
1229 UsbSrvClient.RequestRight(device.GetName());
1230 ret = UsbSrvClient.OpenDevice(device, pipe);
1231 EXPECT_TRUE(ret == 0);
1232 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::Usbcontrolstansfer025 %{public}d OpenDevice=%{public}d",
1233 __LINE__, ret);
1234 uint32_t len = 8;
1235 uint8_t buffer[BUFFER_SIZE] = {0};
1236 struct UsbCtrlTransferParams ctrldata = {0b10000000, 6, 0x100, 0, 0, 500};
1237 std::vector<uint8_t> ctrlbuffer = {buffer, buffer + len};
1238 ret = UsbSrvClient.UsbControlTransfer(pipe, ctrldata, ctrlbuffer);
1239 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::Usbcontrolstansfer025 %{public}d UsbControlTransfer=%{public}d",
1240 __LINE__, ret);
1241 EXPECT_TRUE(ret == 0);
1242 ret = UsbSrvClient.Close(pipe);
1243 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::Close=%{public}d", ret);
1244 EXPECT_TRUE(ret);
1245 USB_HILOGI(MODULE_USB_SERVICE, "Case End : Usbcontrolstansfer025 : UsbControlTransfer");
1246 }
1247
1248 /**
1249 * @tc.name: Usbcontrolstansfer026
1250 * @tc.desc: Test functions to UsbControlTransfer
1251 * @tc.type: FUNC
1252 */
1253 HWTEST_F(UsbDevicePipeTest, Usbcontrolstansfer026, TestSize.Level1)
1254 {
1255 USB_HILOGI(MODULE_USB_SERVICE, "Case Start : Usbcontrolstansfer026 : UsbControlTransfer");
1256 vector<UsbDevice> devi;
1257 auto &UsbSrvClient = UsbSrvClient::GetInstance();
1258 auto ret = UsbSrvClient.GetDevices(devi);
1259 EXPECT_TRUE(ret == 0);
1260 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::Usbcontrolstansfer026 %{public}d ret=%{public}d", __LINE__, ret);
1261 EXPECT_TRUE(!(devi.empty())) << "delist NULL";
1262 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::Usbcontrolstansfer026 %{public}d size=%{public}zu", __LINE__,
1263 devi.size());
1264 USBDevicePipe pipe;
1265 UsbDevice device = devi.front();
1266 UsbSrvClient.RequestRight(device.GetName());
1267 ret = UsbSrvClient.OpenDevice(device, pipe);
1268 EXPECT_TRUE(ret == 0);
1269 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::Usbcontrolstansfer026 %{public}d OpenDevice=%{public}d",
1270 __LINE__, ret);
1271 uint32_t len = 8;
1272 uint8_t buffer[BUFFER_SIZE] = {0};
1273 pipe.SetBusNum(BUFFER_SIZE);
1274 struct UsbCtrlTransferParams ctrldata = {0b10000000, 6, 0x100, 0, 0, 500};
1275 std::vector<uint8_t> ctrlbuffer = {buffer, buffer + len};
1276 ret = UsbSrvClient.UsbControlTransfer(pipe, ctrldata, ctrlbuffer);
1277 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::Usbcontrolstansfer026 %{public}d UsbControlTransfer=%{public}d",
1278 __LINE__, ret);
1279 EXPECT_TRUE(ret != 0);
1280 pipe.SetBusNum(device.GetBusNum());
1281 ret = UsbSrvClient.Close(pipe);
1282 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::Close=%{public}d", ret);
1283 EXPECT_TRUE(ret);
1284 USB_HILOGI(MODULE_USB_SERVICE, "Case End : Usbcontrolstansfer026 : UsbControlTransfer");
1285 }
1286
1287 /**
1288 * @tc.name: Usbcontrolstansfer027
1289 * @tc.desc: Test functions to UsbControlTransfer
1290 * @tc.type: FUNC
1291 */
1292 HWTEST_F(UsbDevicePipeTest, Usbcontrolstansfer027, TestSize.Level1)
1293 {
1294 USB_HILOGI(MODULE_USB_SERVICE, "Case Start : Usbcontrolstansfer027 : UsbControlTransfer");
1295 vector<UsbDevice> devi;
1296 auto &UsbSrvClient = UsbSrvClient::GetInstance();
1297 auto ret = UsbSrvClient.GetDevices(devi);
1298 EXPECT_TRUE(ret == 0);
1299 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::Usbcontrolstansfer027 %{public}d ret=%{public}d", __LINE__, ret);
1300 EXPECT_TRUE(!(devi.empty())) << "delist NULL";
1301 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::Usbcontrolstansfer027 %{public}d size=%{public}zu", __LINE__,
1302 devi.size());
1303 USBDevicePipe pipe;
1304 UsbDevice device = devi.front();
1305 UsbSrvClient.RequestRight(device.GetName());
1306 ret = UsbSrvClient.OpenDevice(device, pipe);
1307 EXPECT_TRUE(ret == 0);
1308 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::Usbcontrolstansfer027 %{public}d OpenDevice=%{public}d",
1309 __LINE__, ret);
1310 uint32_t len = 8;
1311 uint8_t buffer[BUFFER_SIZE] = {0};
1312 pipe.SetDevAddr(BUFFER_SIZE);
1313 struct UsbCtrlTransferParams ctrldata = {0b10000000, 6, 0x100, 0, 0, 500};
1314 std::vector<uint8_t> ctrlbuffer = {buffer, buffer + len};
1315 ret = UsbSrvClient.UsbControlTransfer(pipe, ctrldata, ctrlbuffer);
1316 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::Usbcontrolstansfer027 %{public}d UsbControlTransfer=%{public}d",
1317 __LINE__, ret);
1318 EXPECT_TRUE(ret != 0);
1319 pipe.SetDevAddr(device.GetDevAddr());
1320 ret = UsbSrvClient.Close(pipe);
1321 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::Close=%{public}d", ret);
1322 EXPECT_TRUE(ret);
1323 USB_HILOGI(MODULE_USB_SERVICE, "Case End : Usbcontrolstansfer027 : UsbControlTransfer");
1324 }
1325
1326 /**
1327 * @tc.name: Usbcontrolstansfer028
1328 * @tc.desc: Test functions to UsbControlTransfer
1329 * @tc.type: FUNC
1330 */
1331 HWTEST_F(UsbDevicePipeTest, Usbcontrolstansfer028, TestSize.Level1)
1332 {
1333 USB_HILOGI(MODULE_USB_SERVICE, "Case Start : Usbcontrolstansfer028 : UsbControlTransfer");
1334 vector<UsbDevice> devi;
1335 auto &UsbSrvClient = UsbSrvClient::GetInstance();
1336 auto ret = UsbSrvClient.GetDevices(devi);
1337 EXPECT_TRUE(ret == 0);
1338 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::Usbcontrolstansfer028 %{public}d ret=%{public}d", __LINE__, ret);
1339 EXPECT_TRUE(!(devi.empty())) << "delist NULL";
1340 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::Usbcontrolstansfer028 %{public}d size=%{public}zu", __LINE__,
1341 devi.size());
1342 USBDevicePipe pipe;
1343 UsbDevice device = devi.front();
1344 UsbSrvClient.RequestRight(device.GetName());
1345 UsbInterface interface = device.GetConfigs().front().GetInterfaces().front();
1346 ret = UsbSrvClient.OpenDevice(device, pipe);
1347 EXPECT_TRUE(ret == 0);
1348 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::Usbcontrolstansfer028 %{public}d OpenDevice=%{public}d",
1349 __LINE__, ret);
1350 uint32_t len = BUFFER_SIZE;
1351 uint8_t buffer[BUFFER_SIZE] = {0};
1352 struct UsbCtrlTransferParams ctrldata = {0b10000001, 0X0A, 0, 0, 0, 500};
1353 std::vector<uint8_t> ctrlbuffer = {buffer, buffer + len};
1354 ret = UsbSrvClient.UsbControlTransfer(pipe, ctrldata, ctrlbuffer);
1355 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::Usbcontrolstansfer028 %{public}d UsbControlTransfer=%{public}d",
1356 __LINE__, ret);
1357 EXPECT_TRUE(ret == 0);
1358 ret = UsbSrvClient.Close(pipe);
1359 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::Usbcontrolstansfer028 %{public}d Close=%{public}d", __LINE__,
1360 ret);
1361 EXPECT_TRUE(ret);
1362 USB_HILOGI(MODULE_USB_SERVICE, "Case End : Usbcontrolstansfer028 : UsbControlTransfer");
1363 }
1364
1365 /**
1366 * @tc.name: Usbcontrolstansfer029
1367 * @tc.desc: Test functions to UsbControlTransfer
1368 * @tc.type: FUNC
1369 */
1370 HWTEST_F(UsbDevicePipeTest, Usbcontrolstansfer029, TestSize.Level1)
1371 {
1372 USB_HILOGI(MODULE_USB_SERVICE, "Case Start : Usbcontrolstansfer029 : UsbControlTransfer");
1373 vector<UsbDevice> devi;
1374 auto &UsbSrvClient = UsbSrvClient::GetInstance();
1375 auto ret = UsbSrvClient.GetDevices(devi);
1376 EXPECT_TRUE(ret == 0);
1377 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::Usbcontrolstansfer029 %{public}d ret=%{public}d", __LINE__, ret);
1378 EXPECT_TRUE(!(devi.empty())) << "delist NULL";
1379 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::Usbcontrolstansfer029 %{public}d size=%{public}zu", __LINE__,
1380 devi.size());
1381 USBDevicePipe pipe;
1382 UsbDevice device = devi.front();
1383 UsbSrvClient.RequestRight(device.GetName());
1384 UsbInterface interface = device.GetConfigs().front().GetInterfaces().front();
1385 ret = UsbSrvClient.OpenDevice(device, pipe);
1386 EXPECT_TRUE(ret == 0);
1387 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::Usbcontrolstansfer029 %{public}d OpenDevice=%{public}d",
1388 __LINE__, ret);
1389 uint32_t len = BUFFER_SIZE;
1390 uint8_t buffer[BUFFER_SIZE] = {0};
1391 pipe.SetBusNum(BUFFER_SIZE);
1392 struct UsbCtrlTransferParams ctrldata = {0b10000001, 0X0A, 0, 0, 0, 500};
1393 std::vector<uint8_t> ctrlbuffer = {buffer, buffer + len};
1394 ret = UsbSrvClient.UsbControlTransfer(pipe, ctrldata, ctrlbuffer);
1395 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::Usbcontrolstansfer029 %{public}d UsbControlTransfer=%{public}d",
1396 __LINE__, ret);
1397 EXPECT_TRUE(ret != 0);
1398 pipe.SetBusNum(device.GetBusNum());
1399 ret = UsbSrvClient.Close(pipe);
1400 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::Usbcontrolstansfer029 %{public}d Close=%{public}d", __LINE__,
1401 ret);
1402 EXPECT_TRUE(ret);
1403 USB_HILOGI(MODULE_USB_SERVICE, "Case End : Usbcontrolstansfer029 : UsbControlTransfer");
1404 }
1405
1406 /**
1407 * @tc.name: Usbcontrolstansfer030
1408 * @tc.desc: Test functions to UsbControlTransfer
1409 * @tc.type: FUNC
1410 */
1411 HWTEST_F(UsbDevicePipeTest, Usbcontrolstansfer030, TestSize.Level1)
1412 {
1413 USB_HILOGI(MODULE_USB_SERVICE, "Case Start : Usbcontrolstansfer030 : UsbControlTransfer");
1414 vector<UsbDevice> devi;
1415 auto &UsbSrvClient = UsbSrvClient::GetInstance();
1416 auto ret = UsbSrvClient.GetDevices(devi);
1417 EXPECT_TRUE(ret == 0);
1418 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::Usbcontrolstansfer030 %{public}d ret=%{public}d", __LINE__, ret);
1419 EXPECT_TRUE(!(devi.empty())) << "delist NULL";
1420 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::Usbcontrolstansfer030 %{public}d size=%{public}zu", __LINE__,
1421 devi.size());
1422 USBDevicePipe pipe;
1423 UsbDevice device = devi.front();
1424 UsbSrvClient.RequestRight(device.GetName());
1425 UsbInterface interface = device.GetConfigs().front().GetInterfaces().front();
1426 ret = UsbSrvClient.OpenDevice(device, pipe);
1427 EXPECT_TRUE(ret == 0);
1428 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::Usbcontrolstansfer030 %{public}d OpenDevice=%{public}d",
1429 __LINE__, ret);
1430 uint32_t len = BUFFER_SIZE;
1431 uint8_t buffer[BUFFER_SIZE] = {0};
1432 pipe.SetDevAddr(BUFFER_SIZE);
1433 struct UsbCtrlTransferParams ctrldata = {0b10000001, 0X0A, 0, 0, 0, 500};
1434 std::vector<uint8_t> ctrlbuffer = {buffer, buffer + len};
1435 ret = UsbSrvClient.UsbControlTransfer(pipe, ctrldata, ctrlbuffer);
1436 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::Usbcontrolstansfer030 %{public}d UsbControlTransfer=%{public}d",
1437 __LINE__, ret);
1438 EXPECT_TRUE(ret != 0);
1439 pipe.SetDevAddr(device.GetDevAddr());
1440 ret = UsbSrvClient.Close(pipe);
1441 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::Usbcontrolstansfer030 %{public}d Close=%{public}d", __LINE__,
1442 ret);
1443 EXPECT_TRUE(ret);
1444 USB_HILOGI(MODULE_USB_SERVICE, "Case End : Usbcontrolstansfer030 : UsbControlTransfer");
1445 }
1446
1447 /**
1448 * @tc.name: Usbcontrolstansfer031
1449 * @tc.desc: Test functions to UsbControlTransfer
1450 * @tc.type: FUNC
1451 */
1452 HWTEST_F(UsbDevicePipeTest, Usbcontrolstansfer031, TestSize.Level1)
1453 {
1454 USB_HILOGI(MODULE_USB_SERVICE, "Case Start : Usbcontrolstansfer031 : UsbControlTransfer");
1455 vector<UsbDevice> devi;
1456 auto &UsbSrvClient = UsbSrvClient::GetInstance();
1457 auto ret = UsbSrvClient.GetDevices(devi);
1458 EXPECT_TRUE(ret == 0);
1459 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::Usbcontrolstansfer031 %{public}d ret=%{public}d", __LINE__, ret);
1460 EXPECT_TRUE(!(devi.empty())) << "delist NULL";
1461 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::Usbcontrolstansfer031 %{public}d size=%{public}zu", __LINE__,
1462 devi.size());
1463 USBDevicePipe pipe;
1464 UsbDevice device = devi.front();
1465 UsbSrvClient.RequestRight(device.GetName());
1466 ret = UsbSrvClient.OpenDevice(device, pipe);
1467 EXPECT_TRUE(ret == 0);
1468 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::Usbcontrolstansfer031 %{public}d OpenDevice=%{public}d",
1469 __LINE__, ret);
1470 uint32_t len = BUFFER_SIZE;
1471 uint8_t buffer[BUFFER_SIZE] = {0};
1472 struct UsbCtrlTransferParams ctrldata = {0b10000000, 0, 0, 0, 0, 500};
1473 std::vector<uint8_t> ctrlbuffer = {buffer, buffer + len};
1474 ret = UsbSrvClient.UsbControlTransfer(pipe, ctrldata, ctrlbuffer);
1475 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::Usbcontrolstansfer031 %{public}d UsbControlTransfer=%{public}d",
1476 __LINE__, ret);
1477 EXPECT_TRUE(ret == 0);
1478 ret = UsbSrvClient.Close(pipe);
1479 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::Usbcontrolstansfer031 %{public}d Close=%{public}d", __LINE__,
1480 ret);
1481 EXPECT_TRUE(ret);
1482 USB_HILOGI(MODULE_USB_SERVICE, "Case End : Usbcontrolstansfer031 : UsbControlTransfer");
1483 }
1484
1485 /**
1486 * @tc.name: Usbcontrolstansfer032
1487 * @tc.desc: Test functions to UsbControlTransfer
1488 * @tc.type: FUNC
1489 */
1490 HWTEST_F(UsbDevicePipeTest, Usbcontrolstansfer032, TestSize.Level1)
1491 {
1492 USB_HILOGI(MODULE_USB_SERVICE, "Case Start : Usbcontrolstansfer032 : UsbControlTransfer");
1493 vector<UsbDevice> devi;
1494 auto &UsbSrvClient = UsbSrvClient::GetInstance();
1495 auto ret = UsbSrvClient.GetDevices(devi);
1496 EXPECT_TRUE(ret == 0);
1497 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::Usbcontrolstansfer032 %{public}d ret=%{public}d", __LINE__, ret);
1498 EXPECT_TRUE(!(devi.empty())) << "delist NULL";
1499 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::Usbcontrolstansfer032 %{public}d size=%{public}zu", __LINE__,
1500 devi.size());
1501 USBDevicePipe pipe;
1502 UsbDevice device = devi.front();
1503 UsbSrvClient.RequestRight(device.GetName());
1504 ret = UsbSrvClient.OpenDevice(device, pipe);
1505 EXPECT_TRUE(ret == 0);
1506 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::Usbcontrolstansfer032 %{public}d OpenDevice=%{public}d",
1507 __LINE__, ret);
1508 uint32_t len = BUFFER_SIZE;
1509 uint8_t buffer[BUFFER_SIZE] = {0};
1510 pipe.SetBusNum(BUFFER_SIZE);
1511 struct UsbCtrlTransferParams ctrldata = {0b10000000, 0, 0, 0, 0, 500};
1512 std::vector<uint8_t> ctrlbuffer = {buffer, buffer + len};
1513 ret = UsbSrvClient.UsbControlTransfer(pipe, ctrldata, ctrlbuffer);
1514 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::Usbcontrolstansfer032 %{public}d UsbControlTransfer=%{public}d",
1515 __LINE__, ret);
1516 EXPECT_TRUE(ret != 0);
1517 pipe.SetBusNum(device.GetBusNum());
1518 ret = UsbSrvClient.Close(pipe);
1519 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::Usbcontrolstansfer032 %{public}d Close=%{public}d", __LINE__,
1520 ret);
1521 EXPECT_TRUE(ret);
1522 USB_HILOGI(MODULE_USB_SERVICE, "Case End : Usbcontrolstansfer032 : UsbControlTransfer");
1523 }
1524
1525 /**
1526 * @tc.name: Usbcontrolstansfer033
1527 * @tc.desc: Test functions to UsbControlTransfer
1528 * @tc.type: FUNC
1529 */
1530 HWTEST_F(UsbDevicePipeTest, Usbcontrolstansfer033, TestSize.Level1)
1531 {
1532 USB_HILOGI(MODULE_USB_SERVICE, "Case Start : Usbcontrolstansfer033 : UsbControlTransfer");
1533 vector<UsbDevice> devi;
1534 auto &UsbSrvClient = UsbSrvClient::GetInstance();
1535 auto ret = UsbSrvClient.GetDevices(devi);
1536 EXPECT_TRUE(ret == 0);
1537 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::Usbcontrolstansfer033 %{public}d ret=%{public}d", __LINE__, ret);
1538 EXPECT_TRUE(!(devi.empty())) << "delist NULL";
1539 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::Usbcontrolstansfer033 %{public}d size=%{public}zu", __LINE__,
1540 devi.size());
1541 USBDevicePipe pipe;
1542 UsbDevice device = devi.front();
1543 UsbSrvClient.RequestRight(device.GetName());
1544 ret = UsbSrvClient.OpenDevice(device, pipe);
1545 EXPECT_TRUE(ret == 0);
1546 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::Usbcontrolstansfer033 %{public}d OpenDevice=%{public}d",
1547 __LINE__, ret);
1548 uint32_t len = BUFFER_SIZE;
1549 uint8_t buffer[BUFFER_SIZE] = {0};
1550 pipe.SetDevAddr(BUFFER_SIZE);
1551 struct UsbCtrlTransferParams ctrldata = {0b10000000, 0, 0, 0, 0, 500};
1552 std::vector<uint8_t> ctrlbuffer = {buffer, buffer + len};
1553 ret = UsbSrvClient.UsbControlTransfer(pipe, ctrldata, ctrlbuffer);
1554 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::Usbcontrolstansfer033 %{public}d UsbControlTransfer=%{public}d",
1555 __LINE__, ret);
1556 EXPECT_TRUE(ret != 0);
1557 pipe.SetDevAddr(device.GetDevAddr());
1558 ret = UsbSrvClient.Close(pipe);
1559 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::Usbcontrolstansfer033 %{public}d Close=%{public}d", __LINE__,
1560 ret);
1561 EXPECT_TRUE(ret);
1562 USB_HILOGI(MODULE_USB_SERVICE, "Case End : Usbcontrolstansfer033 : UsbControlTransfer");
1563 }
1564
1565 /**
1566 * @tc.name: Usbcontrolstansfer034
1567 * @tc.desc: Test functions to UsbControlTransfer
1568 * @tc.type: FUNC
1569 */
1570 HWTEST_F(UsbDevicePipeTest, Usbcontrolstansfer034, TestSize.Level1)
1571 {
1572 USB_HILOGI(MODULE_USB_SERVICE, "Case Start : Usbcontrolstansfer034 : UsbControlTransfer");
1573 vector<UsbDevice> devi;
1574 auto &UsbSrvClient = UsbSrvClient::GetInstance();
1575 auto ret = UsbSrvClient.GetDevices(devi);
1576 EXPECT_TRUE(ret == 0);
1577 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::Usbcontrolstansfer034 %{public}d ret=%{public}d", __LINE__,
1578 ret);
1579 EXPECT_TRUE(!(devi.empty())) << "delist NULL";
1580 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::Usbcontrolstansfer034 %{public}d size=%{public}zu", __LINE__,
1581 devi.size());
1582 USBDevicePipe pipe;
1583 UsbDevice device = devi.front();
1584 UsbSrvClient.RequestRight(device.GetName());
1585 ret = UsbSrvClient.OpenDevice(device, pipe);
1586 EXPECT_TRUE(ret == 0);
1587 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::Usbcontrolstansfer034 %{public}d OpenDevice=%{public}d",
1588 __LINE__, ret);
1589 uint32_t len = BUFFER_SIZE;
1590 uint8_t buffer[BUFFER_SIZE] = {0};
1591 struct UsbCtrlTransferParams ctrldata = {0b10000001, 0, 0, 0, 0, 500};
1592 std::vector<uint8_t> ctrlbuffer = {buffer, buffer + len};
1593 ret = UsbSrvClient.UsbControlTransfer(pipe, ctrldata, ctrlbuffer);
1594 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::Usbcontrolstansfer034 %{public}d UsbControlTransfer=%{public}d",
1595 __LINE__, ret);
1596 EXPECT_TRUE(ret == 0);
1597 ret = UsbSrvClient.Close(pipe);
1598 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::Usbcontrolstansfer034 %{public}d Close=%{public}d", __LINE__,
1599 ret);
1600 EXPECT_TRUE(ret);
1601 USB_HILOGI(MODULE_USB_SERVICE, "Case End : Usbcontrolstansfer034 : UsbControlTransfer");
1602 }
1603
1604 /**
1605 * @tc.name: Usbcontrolstansfer035
1606 * @tc.desc: Test functions to UsbControlTransfer
1607 * @tc.type: FUNC
1608 */
1609 HWTEST_F(UsbDevicePipeTest, Usbcontrolstansfer035, TestSize.Level1)
1610 {
1611 USB_HILOGI(MODULE_USB_SERVICE, "Case Start : Usbcontrolstansfer035 : UsbControlTransfer");
1612 vector<UsbDevice> devi;
1613 auto &UsbSrvClient = UsbSrvClient::GetInstance();
1614 auto ret = UsbSrvClient.GetDevices(devi);
1615 EXPECT_TRUE(ret == 0);
1616 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::Usbcontrolstansfer035 %{public}d ret=%{public}d", __LINE__,
1617 ret);
1618 EXPECT_TRUE(!(devi.empty())) << "delist NULL";
1619 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::Usbcontrolstansfer035 %{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 EXPECT_TRUE(ret == 0);
1626 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::Usbcontrolstansfer035 %{public}d OpenDevice=%{public}d",
1627 __LINE__, ret);
1628 uint32_t len = BUFFER_SIZE;
1629 uint8_t buffer[BUFFER_SIZE] = {0};
1630 pipe.SetBusNum(BUFFER_SIZE);
1631 struct UsbCtrlTransferParams ctrldata = {0b10000001, 0, 0, 0, 0, 500};
1632 std::vector<uint8_t> ctrlbuffer = {buffer, buffer + len};
1633 ret = UsbSrvClient.UsbControlTransfer(pipe, ctrldata, ctrlbuffer);
1634 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::Usbcontrolstansfer035 %{public}d UsbControlTransfer=%{public}d",
1635 __LINE__, ret);
1636 EXPECT_TRUE(ret != 0);
1637 pipe.SetBusNum(device.GetBusNum());
1638 ret = UsbSrvClient.Close(pipe);
1639 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::Usbcontrolstansfer035 %{public}d Close=%{public}d", __LINE__,
1640 ret);
1641 EXPECT_TRUE(ret);
1642 USB_HILOGI(MODULE_USB_SERVICE, "Case End : Usbcontrolstansfer035 : UsbControlTransfer");
1643 }
1644
1645 /**
1646 * @tc.name: Usbcontrolstansfer036
1647 * @tc.desc: Test functions to UsbControlTransfer
1648 * @tc.type: FUNC
1649 */
1650 HWTEST_F(UsbDevicePipeTest, Usbcontrolstansfer036, TestSize.Level1)
1651 {
1652 USB_HILOGI(MODULE_USB_SERVICE, "Case Start : Usbcontrolstansfer036 : UsbControlTransfer");
1653 vector<UsbDevice> devi;
1654 auto &UsbSrvClient = UsbSrvClient::GetInstance();
1655 auto ret = UsbSrvClient.GetDevices(devi);
1656 EXPECT_TRUE(ret == 0);
1657 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::Usbcontrolstansfer036 %{public}d ret=%{public}d", __LINE__,
1658 ret);
1659 EXPECT_TRUE(!(devi.empty())) << "delist NULL";
1660 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::Usbcontrolstansfer036 %{public}d size=%{public}zu", __LINE__,
1661 devi.size());
1662 USBDevicePipe pipe;
1663 UsbDevice device = devi.front();
1664 UsbSrvClient.RequestRight(device.GetName());
1665 ret = UsbSrvClient.OpenDevice(device, pipe);
1666 EXPECT_TRUE(ret == 0);
1667 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::Usbcontrolstansfer036 %{public}d OpenDevice=%{public}d",
1668 __LINE__, ret);
1669 uint32_t len = BUFFER_SIZE;
1670 uint8_t buffer[BUFFER_SIZE] = {0};
1671 pipe.SetDevAddr(BUFFER_SIZE);
1672 struct UsbCtrlTransferParams ctrldata = {0b10000001, 0, 0, 0, 0, 500};
1673 std::vector<uint8_t> ctrlbuffer = {buffer, buffer + len};
1674 ret = UsbSrvClient.UsbControlTransfer(pipe, ctrldata, ctrlbuffer);
1675 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::Usbcontrolstansfer036 %{public}d UsbControlTransfer=%{public}d",
1676 __LINE__, ret);
1677 EXPECT_TRUE(ret != 0);
1678 pipe.SetDevAddr(device.GetDevAddr());
1679 ret = UsbSrvClient.Close(pipe);
1680 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::Usbcontrolstansfer036 %{public}d Close=%{public}d", __LINE__,
1681 ret);
1682 EXPECT_TRUE(ret);
1683 USB_HILOGI(MODULE_USB_SERVICE, "Case End : Usbcontrolstansfer036 : UsbControlTransfer");
1684 }
1685
1686 /**
1687 * @tc.name: Usbcontrolstansfer037
1688 * @tc.desc: Test functions to UsbControlTransfer
1689 * @tc.type: FUNC
1690 */
1691 HWTEST_F(UsbDevicePipeTest, Usbcontrolstansfer037, TestSize.Level1)
1692 {
1693 USB_HILOGI(MODULE_USB_SERVICE, "Case Start : Usbcontrolstansfer037 : UsbControlTransfer");
1694 vector<UsbDevice> devi;
1695 auto &UsbSrvClient = UsbSrvClient::GetInstance();
1696 auto ret = UsbSrvClient.GetDevices(devi);
1697 EXPECT_TRUE(ret == 0);
1698 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::Usbcontrolstansfer037 %{public}d ret=%{public}d", __LINE__, ret);
1699 EXPECT_TRUE(!(devi.empty())) << "delist NULL";
1700 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::Usbcontrolstansfer037 %{public}d size=%{public}zu", __LINE__,
1701 devi.size());
1702 USBDevicePipe pipe;
1703 UsbDevice device = devi.front();
1704 UsbSrvClient.RequestRight(device.GetName());
1705 ret = UsbSrvClient.OpenDevice(device, pipe);
1706 EXPECT_TRUE(ret == 0);
1707 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::Usbcontrolstansfer037 %{public}d OpenDevice=%{public}d",
1708 __LINE__, ret);
1709 uint32_t len = 16;
1710 uint8_t buffer[BUFFER_SIZE] = {0};
1711 struct UsbCtrlTransferParams ctrldata = {0b10000010, 0, 0, 0, 0, 500};
1712 std::vector<uint8_t> ctrlbuffer = {buffer, buffer + len};
1713 ret = UsbSrvClient.UsbControlTransfer(pipe, ctrldata, ctrlbuffer);
1714 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::Usbcontrolstansfer037 %{public}d UsbControlTransfer=%{public}d",
1715 __LINE__, ret);
1716 EXPECT_TRUE(ret == 0);
1717 ret = UsbSrvClient.Close(pipe);
1718 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::Usbcontrolstansfer037 %{public}d Close=%{public}d", __LINE__,
1719 ret);
1720 EXPECT_TRUE(ret);
1721 USB_HILOGI(MODULE_USB_SERVICE, "Case End : Usbcontrolstansfer037 : UsbControlTransfer");
1722 }
1723
1724 /**
1725 * @tc.name: Usbcontrolstansfer038
1726 * @tc.desc: Test functions to UsbControlTransfer
1727 * @tc.type: FUNC
1728 */
1729 HWTEST_F(UsbDevicePipeTest, Usbcontrolstansfer038, TestSize.Level1)
1730 {
1731 USB_HILOGI(MODULE_USB_SERVICE, "Case Start : Usbcontrolstansfer038 : UsbControlTransfer");
1732 vector<UsbDevice> devi;
1733 auto &UsbSrvClient = UsbSrvClient::GetInstance();
1734 auto ret = UsbSrvClient.GetDevices(devi);
1735 EXPECT_TRUE(ret == 0);
1736 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::Usbcontrolstansfer038 %{public}d ret=%{public}d", __LINE__, ret);
1737 EXPECT_TRUE(!(devi.empty())) << "delist NULL";
1738 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::Usbcontrolstansfer038 %{public}d size=%{public}zu", __LINE__,
1739 devi.size());
1740 USBDevicePipe pipe;
1741 UsbDevice device = devi.front();
1742 UsbSrvClient.RequestRight(device.GetName());
1743 ret = UsbSrvClient.OpenDevice(device, pipe);
1744 EXPECT_TRUE(ret == 0);
1745 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::Usbcontrolstansfer038 %{public}d OpenDevice=%{public}d",
1746 __LINE__, ret);
1747 uint32_t len = 16;
1748 uint8_t buffer[BUFFER_SIZE] = {0};
1749 pipe.SetBusNum(BUFFER_SIZE);
1750 struct UsbCtrlTransferParams ctrldata = {0b10000010, 0, 0, 0, 0, 500};
1751 std::vector<uint8_t> ctrlbuffer = {buffer, buffer + len};
1752 ret = UsbSrvClient.UsbControlTransfer(pipe, ctrldata, ctrlbuffer);
1753 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::Usbcontrolstansfer038 %{public}d UsbControlTransfer=%{public}d",
1754 __LINE__, ret);
1755 EXPECT_TRUE(ret != 0);
1756 pipe.SetBusNum(device.GetBusNum());
1757 ret = UsbSrvClient.Close(pipe);
1758 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::Usbcontrolstansfer038 %{public}d Close=%{public}d", __LINE__,
1759 ret);
1760 EXPECT_TRUE(ret);
1761 USB_HILOGI(MODULE_USB_SERVICE, "Case End : Usbcontrolstansfer038 : UsbControlTransfer");
1762 }
1763
1764 /**
1765 * @tc.name: Usbcontrolstansfer039
1766 * @tc.desc: Test functions to UsbControlTransfer
1767 * @tc.type: FUNC
1768 */
1769 HWTEST_F(UsbDevicePipeTest, Usbcontrolstansfer039, TestSize.Level1)
1770 {
1771 USB_HILOGI(MODULE_USB_SERVICE, "Case Start : Usbcontrolstansfer039 : UsbControlTransfer");
1772 vector<UsbDevice> devi;
1773 auto &UsbSrvClient = UsbSrvClient::GetInstance();
1774 auto ret = UsbSrvClient.GetDevices(devi);
1775 EXPECT_TRUE(ret == 0);
1776 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::Usbcontrolstansfer039 %{public}d ret=%{public}d", __LINE__, ret);
1777 EXPECT_TRUE(!(devi.empty())) << "delist NULL";
1778 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::Usbcontrolstansfer039 %{public}d size=%{public}zu", __LINE__,
1779 devi.size());
1780 USBDevicePipe pipe;
1781 UsbDevice device = devi.front();
1782 UsbSrvClient.RequestRight(device.GetName());
1783 ret = UsbSrvClient.OpenDevice(device, pipe);
1784 EXPECT_TRUE(ret == 0);
1785 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::Usbcontrolstansfer039 %{public}d OpenDevice=%{public}d",
1786 __LINE__, ret);
1787 uint32_t len = 16;
1788 uint8_t buffer[BUFFER_SIZE] = {0};
1789 pipe.SetDevAddr(BUFFER_SIZE);
1790 struct UsbCtrlTransferParams ctrldata = {0b10000010, 0, 0, 0, 0, 500};
1791 std::vector<uint8_t> ctrlbuffer = {buffer, buffer + len};
1792 ret = UsbSrvClient.UsbControlTransfer(pipe, ctrldata, ctrlbuffer);
1793 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::Usbcontrolstansfer039 %{public}d UsbControlTransfer=%{public}d",
1794 __LINE__, ret);
1795 EXPECT_TRUE(ret != 0);
1796 pipe.SetDevAddr(device.GetDevAddr());
1797 ret = UsbSrvClient.Close(pipe);
1798 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::Usbcontrolstansfer039 %{public}d Close=%{public}d", __LINE__,
1799 ret);
1800 EXPECT_TRUE(ret);
1801 USB_HILOGI(MODULE_USB_SERVICE, "Case End : Usbcontrolstansfer039 : UsbControlTransfer");
1802 }
1803
1804 /**
1805 * @tc.name: Usbcontrolstansfer040
1806 * @tc.desc: Test functions to UsbControlTransfer
1807 * @tc.type: FUNC
1808 */
1809 HWTEST_F(UsbDevicePipeTest, Usbcontrolstansfer040, TestSize.Level1)
1810 {
1811 USB_HILOGI(MODULE_USB_SERVICE, "Case Start : Usbcontrolstansfer040 : UsbControlTransfer");
1812 vector<UsbDevice> devi;
1813 auto &UsbSrvClient = UsbSrvClient::GetInstance();
1814 auto ret = UsbSrvClient.GetDevices(devi);
1815 EXPECT_TRUE(ret == 0);
1816 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::Usbcontrolstansfer040 %{public}d ret=%{public}d", __LINE__, ret);
1817 EXPECT_TRUE(!(devi.empty())) << "delist NULL";
1818 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::Usbcontrolstansfer040 %{public}d size=%{public}zu", __LINE__,
1819 devi.size());
1820 USBDevicePipe pipe;
1821 UsbDevice device = devi.front();
1822 UsbSrvClient.RequestRight(device.GetName());
1823 ret = UsbSrvClient.OpenDevice(device, pipe);
1824 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::Usbcontrolstansfer040 %{public}d OpenDevice=%{public}d",
1825 __LINE__, ret);
1826 EXPECT_TRUE(ret == 0);
1827 uint32_t len = BUFFER_SIZE;
1828 uint8_t buffer[BUFFER_SIZE] = {0};
1829 struct UsbCtrlTransferParams ctrldata = {0b10000010, 0X0C, 0, 0, 0, 500};
1830 std::vector<uint8_t> ctrlbuffer = {buffer, buffer + len};
1831 ret = UsbSrvClient.UsbControlTransfer(pipe, ctrldata, ctrlbuffer);
1832 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::Usbcontrolstansfer040 %{public}d UsbControlTransfer=%{public}d",
1833 __LINE__, ret);
1834 EXPECT_TRUE(ret == 0);
1835 ret = UsbSrvClient.Close(pipe);
1836 USB_HILOGI(MODULE_USB_SERVICE, "UsbCoreTest::Close=%{public}d", ret);
1837 EXPECT_TRUE(ret);
1838 USB_HILOGI(MODULE_USB_SERVICE, "Case End : Usbcontrolstansfer040 : UsbControlTransfer");
1839 }
1840
1841 /**
1842 * @tc.name: Usbcontrolstansfer041
1843 * @tc.desc: Test functions to UsbControlTransfer
1844 * @tc.type: FUNC
1845 */
1846 HWTEST_F(UsbDevicePipeTest, Usbcontrolstansfer041, TestSize.Level1)
1847 {
1848 USB_HILOGI(MODULE_USB_SERVICE, "Case Start : Usbcontrolstansfer041 : UsbControlTransfer");
1849 vector<UsbDevice> devi;
1850 auto &UsbSrvClient = UsbSrvClient::GetInstance();
1851 auto ret = UsbSrvClient.GetDevices(devi);
1852 EXPECT_TRUE(ret == 0);
1853 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::Usbcontrolstansfer041 %{public}d ret=%{public}d", __LINE__, ret);
1854 EXPECT_TRUE(!(devi.empty())) << "delist NULL";
1855 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::Usbcontrolstansfer041 %{public}d size=%{public}zu", __LINE__,
1856 devi.size());
1857 USBDevicePipe pipe;
1858 UsbDevice device = devi.front();
1859 UsbSrvClient.RequestRight(device.GetName());
1860 ret = UsbSrvClient.OpenDevice(device, pipe);
1861 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::Usbcontrolstansfer041 %{public}d OpenDevice=%{public}d",
1862 __LINE__, ret);
1863 EXPECT_TRUE(ret == 0);
1864 uint32_t len = BUFFER_SIZE;
1865 uint8_t buffer[BUFFER_SIZE] = {0};
1866 pipe.SetBusNum(BUFFER_SIZE);
1867 struct UsbCtrlTransferParams ctrldata = {0b10000010, 0X0C, 0, 0, 0, 500};
1868 std::vector<uint8_t> ctrlbuffer = {buffer, buffer + len};
1869 ret = UsbSrvClient.UsbControlTransfer(pipe, ctrldata, ctrlbuffer);
1870 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::Usbcontrolstansfer041 %{public}d UsbControlTransfer=%{public}d",
1871 __LINE__, ret);
1872 EXPECT_TRUE(ret != 0);
1873 pipe.SetBusNum(device.GetBusNum());
1874 ret = UsbSrvClient.Close(pipe);
1875 USB_HILOGI(MODULE_USB_SERVICE, "UsbCoreTest::Close=%{public}d", ret);
1876 EXPECT_TRUE(ret);
1877 USB_HILOGI(MODULE_USB_SERVICE, "Case End : Usbcontrolstansfer041 : UsbControlTransfer");
1878 }
1879
1880 /**
1881 * @tc.name: Usbcontrolstansfer042
1882 * @tc.desc: Test functions to UsbControlTransfer
1883 * @tc.type: FUNC
1884 */
1885 HWTEST_F(UsbDevicePipeTest, Usbcontrolstansfer042, TestSize.Level1)
1886 {
1887 USB_HILOGI(MODULE_USB_SERVICE, "Case Start : Usbcontrolstansfer042 : UsbControlTransfer");
1888 vector<UsbDevice> devi;
1889 auto &UsbSrvClient = UsbSrvClient::GetInstance();
1890 auto ret = UsbSrvClient.GetDevices(devi);
1891 EXPECT_TRUE(ret == 0);
1892 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::Usbcontrolstansfer042 %{public}d ret=%{public}d", __LINE__, ret);
1893 EXPECT_TRUE(!(devi.empty())) << "delist NULL";
1894 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::Usbcontrolstansfer042 %{public}d size=%{public}zu", __LINE__,
1895 devi.size());
1896 USBDevicePipe pipe;
1897 UsbDevice device = devi.front();
1898 UsbSrvClient.RequestRight(device.GetName());
1899 ret = UsbSrvClient.OpenDevice(device, pipe);
1900 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::Usbcontrolstansfer042 %{public}d OpenDevice=%{public}d",
1901 __LINE__, ret);
1902 EXPECT_TRUE(ret == 0);
1903 uint32_t len = BUFFER_SIZE;
1904 uint8_t buffer[BUFFER_SIZE] = {0};
1905 pipe.SetDevAddr(BUFFER_SIZE);
1906 struct UsbCtrlTransferParams ctrldata = {0b10000010, 0X0C, 0, 0, 0, 500};
1907 std::vector<uint8_t> ctrlbuffer = {buffer, buffer + len};
1908 ret = UsbSrvClient.UsbControlTransfer(pipe, ctrldata, ctrlbuffer);
1909 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::Usbcontrolstansfer042 %{public}d UsbControlTransfer=%{public}d",
1910 __LINE__, ret);
1911 EXPECT_TRUE(ret != 0);
1912 pipe.SetDevAddr(device.GetDevAddr());
1913 ret = UsbSrvClient.Close(pipe);
1914 USB_HILOGI(MODULE_USB_SERVICE, "UsbCoreTest::Close=%{public}d", ret);
1915 EXPECT_TRUE(ret);
1916 USB_HILOGI(MODULE_USB_SERVICE, "Case End : Usbcontrolstansfer042 : UsbControlTransfer");
1917 }
1918
1919 /**
1920 * @tc.name: UsbClaimInterface001
1921 * @tc.desc: Test functions to ClaimInterface(const UsbInterface &interface, bool force);
1922 * @tc.type: FUNC
1923 */
1924 HWTEST_F(UsbDevicePipeTest, UsbClaimInterface001, TestSize.Level1)
1925 {
1926 USB_HILOGI(MODULE_USB_SERVICE, "Case Start : UsbClaimInterface001 : ClaimInterface");
1927 vector<UsbDevice> devi;
1928 auto &UsbSrvClient = UsbSrvClient::GetInstance();
1929 auto ret = UsbSrvClient.GetDevices(devi);
1930 EXPECT_TRUE(ret == 0);
1931 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::UsbClaimInterface001 %{public}d ret=%{public}d", __LINE__, ret);
1932 EXPECT_TRUE(!(devi.empty())) << "delist NULL";
1933 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::UsbClaimInterface001 %{public}d size=%{public}zu", __LINE__,
1934 devi.size());
1935 USBDevicePipe pipe;
1936 UsbDevice device = devi.front();
1937 UsbSrvClient.RequestRight(device.GetName());
1938 ret = UsbSrvClient.OpenDevice(device, pipe);
1939 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::UsbClaimInterface001 %{public}d OpenDevice=%{public}d", __LINE__,
1940 ret);
1941 EXPECT_TRUE(ret == 0);
1942 UsbInterface interface = devi.front().GetConfigs().front().GetInterfaces().front();
1943 ret = UsbSrvClient.ClaimInterface(pipe, interface, true);
1944 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::UsbClaimInterface001 %{public}d ClaimInterface=%{public}d",
1945 __LINE__, ret);
1946 EXPECT_TRUE(ret == 0);
1947 bool close = UsbSrvClient.Close(pipe);
1948 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::UsbClaimInterface001 %{public}d close=%{public}d", __LINE__,
1949 close);
1950 EXPECT_TRUE(close);
1951 USB_HILOGI(MODULE_USB_SERVICE, "Case End : UsbClaimInterface001 : ClaimInterface");
1952 }
1953
1954 /**
1955 * @tc.name: UsbClaimInterface002
1956 * @tc.desc: Test functions to ClaimInterface(const UsbInterface &interface, bool force);
1957 * @tc.type: FUNC
1958 */
1959 HWTEST_F(UsbDevicePipeTest, UsbClaimInterface002, TestSize.Level1)
1960 {
1961 USB_HILOGI(MODULE_USB_SERVICE, "Case Start : UsbClaimInterface002 : ClaimInterface");
1962 vector<UsbDevice> devi;
1963 auto &UsbSrvClient = UsbSrvClient::GetInstance();
1964 auto ret = UsbSrvClient.GetDevices(devi);
1965 EXPECT_TRUE(ret == 0);
1966 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::UsbClaimInterface002 %{public}d ret=%{public}d", __LINE__, ret);
1967 EXPECT_TRUE(!(devi.empty())) << "delist NULL";
1968 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::UsbClaimInterface002 %{public}d size=%{public}zu", __LINE__,
1969 devi.size());
1970 USBDevicePipe pipe;
1971 UsbDevice device = devi.front();
1972 UsbSrvClient.RequestRight(device.GetName());
1973 ret = UsbSrvClient.OpenDevice(device, pipe);
1974 EXPECT_TRUE(ret == 0);
1975 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::UsbClaimInterface002 %{public}d OpenDevice=%{public}d", __LINE__,
1976 ret);
1977 UsbInterface interface = devi.front().GetConfigs().front().GetInterfaces().front();
1978 ret = UsbSrvClient.ClaimInterface(pipe, interface, false);
1979 EXPECT_TRUE(ret == 0);
1980 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::UsbClaimInterface002 %{public}d ClaimInterface=%{public}d",
1981 __LINE__, ret);
1982 bool close = UsbSrvClient.Close(pipe);
1983 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::UsbClaimInterface002 %{public}d close=%{public}d", __LINE__,
1984 close);
1985 EXPECT_TRUE(close);
1986 USB_HILOGI(MODULE_USB_SERVICE, "Case End : UsbClaimInterface002 : ClaimInterface");
1987 }
1988
1989 /**
1990 * @tc.name: UsbClaimInterface003
1991 * @tc.desc: Test functions to ClaimInterface(const UsbInterface &interface, bool force);
1992 * @tc.type: FUNC
1993 */
1994 HWTEST_F(UsbDevicePipeTest, UsbClaimInterface003, TestSize.Level1)
1995 {
1996 USB_HILOGI(MODULE_USB_SERVICE, "Case Start : UsbClaimInterface003 : ClaimInterface");
1997 vector<UsbDevice> devi;
1998 auto &UsbSrvClient = UsbSrvClient::GetInstance();
1999 auto ret = UsbSrvClient.GetDevices(devi);
2000 EXPECT_TRUE(ret == 0);
2001 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::UsbClaimInterface003 %{public}d ret=%{public}d", __LINE__, ret);
2002 EXPECT_TRUE(!(devi.empty())) << "delist NULL";
2003 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::UsbClaimInterface003 %{public}d size=%{public}zu", __LINE__,
2004 devi.size());
2005 USBDevicePipe pipe;
2006 UsbDevice device = devi.front();
2007 UsbSrvClient.RequestRight(device.GetName());
2008 ret = UsbSrvClient.OpenDevice(device, pipe);
2009 EXPECT_TRUE(ret == 0);
2010 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::UsbClaimInterface003 %{public}d OpenDevice=%{public}d", __LINE__,
2011 ret);
2012 UsbInterface interface = devi.front().GetConfigs().front().GetInterfaces().at(1);
2013 ret = UsbSrvClient.ClaimInterface(pipe, interface, true);
2014 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::UsbClaimInterface003 %{public}d ClaimInterface=%{public}d",
2015 __LINE__, ret);
2016 EXPECT_TRUE(ret == 0);
2017 bool close = UsbSrvClient.Close(pipe);
2018 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::UsbClaimInterface003 %{public}d close=%{public}d", __LINE__,
2019 close);
2020 EXPECT_TRUE(close);
2021 USB_HILOGI(MODULE_USB_SERVICE, "Case End : UsbClaimInterface003 : ClaimInterface");
2022 }
2023
2024 /**
2025 * @tc.name: UsbClaimInterface004
2026 * @tc.desc: Test functions to ClaimInterface(const UsbInterface &interface, bool force);
2027 * @tc.type: FUNC
2028 */
2029 HWTEST_F(UsbDevicePipeTest, UsbClaimInterface004, TestSize.Level1)
2030 {
2031 USB_HILOGI(MODULE_USB_SERVICE, "Case Start : UsbClaimInterface004 : ClaimInterface");
2032 vector<UsbDevice> devi;
2033 auto &UsbSrvClient = UsbSrvClient::GetInstance();
2034 auto ret = UsbSrvClient.GetDevices(devi);
2035 EXPECT_TRUE(ret == 0);
2036 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::UsbClaimInterface004 %{public}d ret=%{public}d", __LINE__, ret);
2037 EXPECT_TRUE(!(devi.empty())) << "delist NULL";
2038 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::UsbClaimInterface004 %{public}d size=%{public}zu", __LINE__,
2039 devi.size());
2040 USBDevicePipe pipe;
2041 UsbDevice device = devi.front();
2042 UsbSrvClient.RequestRight(device.GetName());
2043 ret = UsbSrvClient.OpenDevice(device, pipe);
2044 EXPECT_TRUE(ret == 0);
2045 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::UsbClaimInterface004 %{public}d OpenDevice=%{public}d", __LINE__,
2046 ret);
2047 UsbInterface interface = devi.front().GetConfigs().front().GetInterfaces().at(1);
2048 ret = UsbSrvClient.ClaimInterface(pipe, interface, false);
2049 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::UsbClaimInterface004 %{public}d ClaimInterface=%{public}d",
2050 __LINE__, ret);
2051 EXPECT_TRUE(ret == 0);
2052 bool close = UsbSrvClient.Close(pipe);
2053 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::UsbClaimInterface004 %{public}d close=%{public}d", __LINE__,
2054 close);
2055 EXPECT_TRUE(close);
2056 USB_HILOGI(MODULE_USB_SERVICE, "Case Start : UsbClaimInterface004 : ClaimInterface");
2057 }
2058
2059 /**
2060 * @tc.name: UsbClaimInterface005
2061 * @tc.desc: Test functions to ClaimInterface(const UsbInterface &interface, bool force);
2062 * @tc.type: FUNC
2063 */
2064 HWTEST_F(UsbDevicePipeTest, UsbClaimInterface005, TestSize.Level1)
2065 {
2066 USB_HILOGI(MODULE_USB_SERVICE, "Case Start : UsbClaimInterface005 : ClaimInterface");
2067 vector<UsbDevice> devi;
2068 auto &UsbSrvClient = UsbSrvClient::GetInstance();
2069 auto ret = UsbSrvClient.GetDevices(devi);
2070 EXPECT_TRUE(ret == 0);
2071 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::UsbClaimInterface005 %{public}d ret=%{public}d", __LINE__, ret);
2072 EXPECT_TRUE(!(devi.empty())) << "delist NULL";
2073 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::UsbClaimInterface005 %{public}d size=%{public}zu", __LINE__,
2074 devi.size());
2075 USBDevicePipe pipe;
2076 UsbDevice device = devi.front();
2077 UsbSrvClient.RequestRight(device.GetName());
2078 ret = UsbSrvClient.OpenDevice(device, pipe);
2079 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::UsbClaimInterface005 %{public}d OpenDevice=%{public}d", __LINE__,
2080 ret);
2081 EXPECT_TRUE(ret == 0);
2082 UsbInterface interface = devi.front().GetConfigs().front().GetInterfaces().front();
2083 pipe.SetBusNum(BUFFER_SIZE);
2084 ret = UsbSrvClient.ClaimInterface(pipe, interface, true);
2085 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::UsbClaimInterface005 %{public}d ClaimInterface=%{public}d",
2086 __LINE__, ret);
2087 EXPECT_TRUE(ret != 0);
2088 pipe.SetBusNum(device.GetBusNum());
2089 bool close = UsbSrvClient.Close(pipe);
2090 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::UsbClaimInterface005 %{public}d close=%{public}d", __LINE__,
2091 close);
2092 EXPECT_TRUE(close);
2093 USB_HILOGI(MODULE_USB_SERVICE, "Case End : UsbClaimInterface005 : ClaimInterface");
2094 }
2095
2096 /**
2097 * @tc.name: UsbClaimInterface006
2098 * @tc.desc: Test functions to ClaimInterface(const UsbInterface &interface, bool force);
2099 * @tc.type: FUNC
2100 */
2101 HWTEST_F(UsbDevicePipeTest, UsbClaimInterface006, TestSize.Level1)
2102 {
2103 USB_HILOGI(MODULE_USB_SERVICE, "Case Start : UsbClaimInterface006 : ClaimInterface");
2104 vector<UsbDevice> devi;
2105 auto &UsbSrvClient = UsbSrvClient::GetInstance();
2106 auto ret = UsbSrvClient.GetDevices(devi);
2107 EXPECT_TRUE(ret == 0);
2108 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::UsbClaimInterface006 %{public}d ret=%{public}d", __LINE__, ret);
2109 EXPECT_TRUE(!(devi.empty())) << "delist NULL";
2110 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::UsbClaimInterface006 %{public}d size=%{public}zu", __LINE__,
2111 devi.size());
2112 USBDevicePipe pipe;
2113 UsbDevice device = devi.front();
2114 UsbSrvClient.RequestRight(device.GetName());
2115 ret = UsbSrvClient.OpenDevice(device, pipe);
2116 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::UsbClaimInterface006 %{public}d OpenDevice=%{public}d", __LINE__,
2117 ret);
2118 EXPECT_TRUE(ret == 0);
2119 UsbInterface interface = devi.front().GetConfigs().front().GetInterfaces().front();
2120 pipe.SetDevAddr(BUFFER_SIZE);
2121 ret = UsbSrvClient.ClaimInterface(pipe, interface, true);
2122 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::UsbClaimInterface006 %{public}d ClaimInterface=%{public}d",
2123 __LINE__, ret);
2124 EXPECT_TRUE(ret != 0);
2125 pipe.SetDevAddr(device.GetDevAddr());
2126 bool close = UsbSrvClient.Close(pipe);
2127 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::UsbClaimInterface006 %{public}d close=%{public}d", __LINE__,
2128 close);
2129 EXPECT_TRUE(close);
2130 USB_HILOGI(MODULE_USB_SERVICE, "Case End : UsbClaimInterface006 : ClaimInterface");
2131 }
2132
2133 /**
2134 * @tc.name: UsbClaimInterface007
2135 * @tc.desc: Test functions to ClaimInterface(const UsbInterface &interface, bool force);
2136 * @tc.type: FUNC
2137 */
2138 HWTEST_F(UsbDevicePipeTest, UsbClaimInterface007, TestSize.Level1)
2139 {
2140 USB_HILOGI(MODULE_USB_SERVICE, "Case Start : UsbClaimInterface007 : ClaimInterface");
2141 vector<UsbDevice> devi;
2142 auto &UsbSrvClient = UsbSrvClient::GetInstance();
2143 auto ret = UsbSrvClient.GetDevices(devi);
2144 EXPECT_TRUE(ret == 0);
2145 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::UsbClaimInterface007 %{public}d ret=%{public}d", __LINE__, ret);
2146 EXPECT_TRUE(!(devi.empty())) << "delist NULL";
2147 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::UsbClaimInterface007 %{public}d size=%{public}zu", __LINE__,
2148 devi.size());
2149 USBDevicePipe pipe;
2150 UsbDevice device = devi.front();
2151 UsbSrvClient.RequestRight(device.GetName());
2152 ret = UsbSrvClient.OpenDevice(device, pipe);
2153 EXPECT_TRUE(ret == 0);
2154 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::UsbClaimInterface007 %{public}d OpenDevice=%{public}d", __LINE__,
2155 ret);
2156 UsbInterface interface = devi.front().GetConfigs().front().GetInterfaces().at(1);
2157 pipe.SetBusNum(BUFFER_SIZE);
2158 ret = UsbSrvClient.ClaimInterface(pipe, interface, true);
2159 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::UsbClaimInterface007 %{public}d ClaimInterface=%{public}d",
2160 __LINE__, ret);
2161 EXPECT_TRUE(ret != 0);
2162 pipe.SetBusNum(device.GetBusNum());
2163 bool close = UsbSrvClient.Close(pipe);
2164 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::UsbClaimInterface007 %{public}d close=%{public}d", __LINE__,
2165 close);
2166 EXPECT_TRUE(close);
2167 USB_HILOGI(MODULE_USB_SERVICE, "Case End : UsbClaimInterface007 : ClaimInterface");
2168 }
2169
2170 /**
2171 * @tc.name: UsbClaimInterface008
2172 * @tc.desc: Test functions to ClaimInterface(const UsbInterface &interface, bool force);
2173 * @tc.type: FUNC
2174 */
2175 HWTEST_F(UsbDevicePipeTest, UsbClaimInterface008, TestSize.Level1)
2176 {
2177 USB_HILOGI(MODULE_USB_SERVICE, "Case Start : UsbClaimInterface008 : ClaimInterface");
2178 vector<UsbDevice> devi;
2179 auto &UsbSrvClient = UsbSrvClient::GetInstance();
2180 auto ret = UsbSrvClient.GetDevices(devi);
2181 EXPECT_TRUE(ret == 0);
2182 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::UsbClaimInterface008 %{public}d ret=%{public}d", __LINE__, ret);
2183 EXPECT_TRUE(!(devi.empty())) << "delist NULL";
2184 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::UsbClaimInterface008 %{public}d size=%{public}zu", __LINE__,
2185 devi.size());
2186 USBDevicePipe pipe;
2187 UsbDevice device = devi.front();
2188 UsbSrvClient.RequestRight(device.GetName());
2189 ret = UsbSrvClient.OpenDevice(device, pipe);
2190 EXPECT_TRUE(ret == 0);
2191 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::UsbClaimInterface008 %{public}d OpenDevice=%{public}d", __LINE__,
2192 ret);
2193 UsbInterface interface = devi.front().GetConfigs().front().GetInterfaces().at(1);
2194 pipe.SetDevAddr(BUFFER_SIZE);
2195 ret = UsbSrvClient.ClaimInterface(pipe, interface, true);
2196 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::UsbClaimInterface008 %{public}d ClaimInterface=%{public}d",
2197 __LINE__, ret);
2198 EXPECT_TRUE(ret != 0);
2199 pipe.SetDevAddr(device.GetDevAddr());
2200 bool close = UsbSrvClient.Close(pipe);
2201 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::UsbClaimInterface008 %{public}d close=%{public}d", __LINE__,
2202 close);
2203 EXPECT_TRUE(close);
2204 USB_HILOGI(MODULE_USB_SERVICE, "Case End : UsbClaimInterface008 : ClaimInterface");
2205 }
2206
2207 /**
2208 * @tc.name: UsbReleaseInterface001
2209 * @tc.desc: Test functions to ReleaseInterface(const UsbInterface &interface);
2210 * @tc.type: FUNC
2211 */
2212 HWTEST_F(UsbDevicePipeTest, UsbReleaseInterface001, TestSize.Level1)
2213 {
2214 USB_HILOGI(MODULE_USB_SERVICE, "Case Start : UsbReleaseInterface001 : ReleaseInterface");
2215 vector<UsbDevice> devi;
2216 auto &UsbSrvClient = UsbSrvClient::GetInstance();
2217 auto ret = UsbSrvClient.GetDevices(devi);
2218 EXPECT_TRUE(ret == 0);
2219 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::UsbReleaseInterface001 %{public}d ret=%{public}d", __LINE__,
2220 ret);
2221 EXPECT_TRUE(!(devi.empty())) << "delist NULL";
2222 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::UsbReleaseInterface001 %{public}d size=%{public}zu", __LINE__,
2223 devi.size());
2224 USBDevicePipe pipe;
2225 UsbDevice device = devi.front();
2226 UsbSrvClient.RequestRight(device.GetName());
2227 UsbInterface interface = device.GetConfigs().front().GetInterfaces().at(0);
2228 ret = UsbSrvClient.OpenDevice(device, pipe);
2229 EXPECT_TRUE(ret == 0);
2230 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::UsbReleaseInterface001 %{public}d OpenDevice=%{public}d",
2231 __LINE__, ret);
2232 ret = UsbSrvClient.ReleaseInterface(pipe, interface);
2233 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::UsbReleaseInterface001 %{public}d ReleaseInterface=%{public}d",
2234 __LINE__, ret);
2235 EXPECT_TRUE(ret == 0);
2236 bool close = UsbSrvClient.Close(pipe);
2237 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::UsbReleaseInterface001 %{public}d close=%{public}d", __LINE__,
2238 close);
2239 EXPECT_TRUE(close);
2240 USB_HILOGI(MODULE_USB_SERVICE, "Case End : UsbReleaseInterface001 : ReleaseInterface");
2241 }
2242
2243 /**
2244 * @tc.name: UsbReleaseInterface002
2245 * @tc.desc: Test functions to ReleaseInterface(const UsbInterface &interface);
2246 * @tc.type: FUNC
2247 */
2248 HWTEST_F(UsbDevicePipeTest, UsbReleaseInterface002, TestSize.Level1)
2249 {
2250 USB_HILOGI(MODULE_USB_SERVICE, "Case Start : UsbReleaseInterface002 : ReleaseInterface");
2251 vector<UsbDevice> devi;
2252 auto &UsbSrvClient = UsbSrvClient::GetInstance();
2253 auto ret = UsbSrvClient.GetDevices(devi);
2254 EXPECT_TRUE(ret == 0);
2255 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::UsbReleaseInterface002 %{public}d ret=%{public}d", __LINE__,
2256 ret);
2257 EXPECT_TRUE(!(devi.empty())) << "delist NULL";
2258 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::UsbReleaseInterface002 %{public}d size=%{public}zu", __LINE__,
2259 devi.size());
2260 USBDevicePipe pipe;
2261 UsbDevice device = devi.front();
2262 UsbSrvClient.RequestRight(device.GetName());
2263 UsbInterface interface = device.GetConfigs().front().GetInterfaces().at(0);
2264 ret = UsbSrvClient.OpenDevice(device, pipe);
2265 EXPECT_TRUE(ret == 0);
2266 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::UsbReleaseInterface002 %{public}d OpenDevice=%{public}d",
2267 __LINE__, ret);
2268 pipe.SetBusNum(BUFFER_SIZE);
2269 ret = UsbSrvClient.ReleaseInterface(pipe, interface);
2270 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::UsbReleaseInterface002 %{public}d ReleaseInterface=%{public}d",
2271 __LINE__, ret);
2272 EXPECT_TRUE(ret != 0);
2273 pipe.SetBusNum(device.GetBusNum());
2274 bool close = UsbSrvClient.Close(pipe);
2275 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::UsbReleaseInterface002 %{public}d close=%{public}d", __LINE__,
2276 close);
2277 EXPECT_TRUE(close);
2278 USB_HILOGI(MODULE_USB_SERVICE, "Case End : UsbReleaseInterface002 : ReleaseInterface");
2279 }
2280
2281 /**
2282 * @tc.name: UsbReleaseInterface003
2283 * @tc.desc: Test functions to ReleaseInterface(const UsbInterface &interface);
2284 * @tc.type: FUNC
2285 */
2286 HWTEST_F(UsbDevicePipeTest, UsbReleaseInterface003, TestSize.Level1)
2287 {
2288 USB_HILOGI(MODULE_USB_SERVICE, "Case Start : UsbReleaseInterface003 : ReleaseInterface");
2289 vector<UsbDevice> devi;
2290 auto &UsbSrvClient = UsbSrvClient::GetInstance();
2291 auto ret = UsbSrvClient.GetDevices(devi);
2292 EXPECT_TRUE(ret == 0);
2293 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::UsbReleaseInterface003 %{public}d ret=%{public}d", __LINE__,
2294 ret);
2295 EXPECT_TRUE(!(devi.empty())) << "delist NULL";
2296 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::UsbReleaseInterface003 %{public}d size=%{public}zu", __LINE__,
2297 devi.size());
2298 USBDevicePipe pipe;
2299 UsbDevice device = devi.front();
2300 UsbSrvClient.RequestRight(device.GetName());
2301 UsbInterface interface = device.GetConfigs().front().GetInterfaces().at(0);
2302 ret = UsbSrvClient.OpenDevice(device, pipe);
2303 EXPECT_TRUE(ret == 0);
2304 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::UsbReleaseInterface003 %{public}d OpenDevice=%{public}d",
2305 __LINE__, ret);
2306 pipe.SetDevAddr(BUFFER_SIZE);
2307 ret = UsbSrvClient.ReleaseInterface(pipe, interface);
2308 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::UsbReleaseInterface003 %{public}d ReleaseInterface=%{public}d",
2309 __LINE__, ret);
2310 EXPECT_TRUE(ret != 0);
2311 pipe.SetDevAddr(device.GetDevAddr());
2312 bool close = UsbSrvClient.Close(pipe);
2313 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::UsbReleaseInterface003 %{public}d close=%{public}d", __LINE__,
2314 close);
2315 EXPECT_TRUE(close);
2316 USB_HILOGI(MODULE_USB_SERVICE, "Case End : UsbReleaseInterface003 : ReleaseInterface");
2317 }
2318
2319 /**
2320 * @tc.name: UsbReleaseInterface004
2321 * @tc.desc: Test functions to ReleaseInterface(const UsbInterface &interface);
2322 * @tc.type: FUNC
2323 */
2324 HWTEST_F(UsbDevicePipeTest, UsbReleaseInterface004, TestSize.Level1)
2325 {
2326 USB_HILOGI(MODULE_USB_SERVICE, "Case Start : UsbReleaseInterface004 : ReleaseInterface");
2327 vector<UsbDevice> devi;
2328 auto &UsbSrvClient = UsbSrvClient::GetInstance();
2329 auto ret = UsbSrvClient.GetDevices(devi);
2330 EXPECT_TRUE(ret == 0);
2331 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::UsbReleaseInterface004 %{public}d ret=%{public}d", __LINE__,
2332 ret);
2333 EXPECT_TRUE(!(devi.empty())) << "delist NULL";
2334 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::UsbReleaseInterface004 %{public}d size=%{public}zu", __LINE__,
2335 devi.size());
2336 USBDevicePipe pipe;
2337 UsbDevice device = devi.front();
2338 UsbSrvClient.RequestRight(device.GetName());
2339 ret = UsbSrvClient.OpenDevice(device, pipe);
2340 EXPECT_TRUE(ret == 0);
2341 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::UsbReleaseInterface004 %{public}d OpenDevice=%{public}d",
2342 __LINE__, ret);
2343 UsbInterface interface = devi.front().GetConfigs().front().GetInterfaces().at(1);
2344 ret = UsbSrvClient.ClaimInterface(pipe, interface, true);
2345 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::UsbReleaseInterface004 %{public}d ClaimInterface=%{public}d",
2346 __LINE__, ret);
2347 EXPECT_TRUE(ret == 0);
2348 ret = UsbSrvClient.ReleaseInterface(pipe, interface);
2349 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::UsbReleaseInterface004 %{public}d ReleaseInterface=%{public}d",
2350 __LINE__, ret);
2351 EXPECT_TRUE(ret == 0);
2352 bool close = UsbSrvClient.Close(pipe);
2353 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::UsbReleaseInterface004 %{public}d close=%{public}d", __LINE__,
2354 close);
2355 EXPECT_TRUE(close);
2356 USB_HILOGI(MODULE_USB_SERVICE, "Case End : UsbReleaseInterface004 : ReleaseInterface");
2357 }
2358
2359 /**
2360 * @tc.name: UsbReleaseInterface005
2361 * @tc.desc: Test functions to ReleaseInterface(const UsbInterface &interface);
2362 * @tc.type: FUNC
2363 */
2364 HWTEST_F(UsbDevicePipeTest, UsbReleaseInterface005, TestSize.Level1)
2365 {
2366 USB_HILOGI(MODULE_USB_SERVICE, "Case Start : UsbReleaseInterface005 : ReleaseInterface");
2367 vector<UsbDevice> devi;
2368 auto &UsbSrvClient = UsbSrvClient::GetInstance();
2369 auto ret = UsbSrvClient.GetDevices(devi);
2370 EXPECT_TRUE(ret == 0);
2371 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::UsbReleaseInterface005 %{public}d ret=%{public}d", __LINE__,
2372 ret);
2373 EXPECT_TRUE(!(devi.empty())) << "delist NULL";
2374 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::UsbReleaseInterface005 %{public}d size=%{public}zu", __LINE__,
2375 devi.size());
2376 USBDevicePipe pipe;
2377 UsbDevice device = devi.front();
2378 UsbSrvClient.RequestRight(device.GetName());
2379 ret = UsbSrvClient.OpenDevice(device, pipe);
2380 EXPECT_TRUE(ret == 0);
2381 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::UsbReleaseInterface005 %{public}d OpenDevice=%{public}d",
2382 __LINE__, ret);
2383 UsbInterface interface = devi.front().GetConfigs().front().GetInterfaces().at(1);
2384 pipe.SetBusNum(BUFFER_SIZE);
2385 ret = UsbSrvClient.ReleaseInterface(pipe, interface);
2386 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::UsbReleaseInterface005 %{public}d ReleaseInterface=%{public}d",
2387 __LINE__, ret);
2388 EXPECT_TRUE(ret != 0);
2389 pipe.SetBusNum(device.GetBusNum());
2390 bool close = UsbSrvClient.Close(pipe);
2391 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::UsbReleaseInterface005 %{public}d close=%{public}d", __LINE__,
2392 close);
2393 EXPECT_TRUE(close);
2394 USB_HILOGI(MODULE_USB_SERVICE, "Case End : UsbReleaseInterface005 : ReleaseInterface");
2395 }
2396
2397 /**
2398 * @tc.name: UsbReleaseInterface006
2399 * @tc.desc: Test functions to ReleaseInterface(const UsbInterface &interface);
2400 * @tc.type: FUNC
2401 */
2402 HWTEST_F(UsbDevicePipeTest, UsbReleaseInterface006, TestSize.Level1)
2403 {
2404 USB_HILOGI(MODULE_USB_SERVICE, "Case Start : UsbReleaseInterface006 : ReleaseInterface");
2405 vector<UsbDevice> devi;
2406 auto &UsbSrvClient = UsbSrvClient::GetInstance();
2407 auto ret = UsbSrvClient.GetDevices(devi);
2408 EXPECT_TRUE(ret == 0);
2409 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::UsbReleaseInterface006 %{public}d ret=%{public}d", __LINE__,
2410 ret);
2411 EXPECT_TRUE(!(devi.empty())) << "delist NULL";
2412 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::UsbReleaseInterface006 %{public}d size=%{public}zu", __LINE__,
2413 devi.size());
2414 USBDevicePipe pipe;
2415 UsbDevice device = devi.front();
2416 UsbSrvClient.RequestRight(device.GetName());
2417 ret = UsbSrvClient.OpenDevice(device, pipe);
2418 EXPECT_TRUE(ret == 0);
2419 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::UsbReleaseInterface006 %{public}d OpenDevice=%{public}d",
2420 __LINE__, ret);
2421 UsbInterface interface = devi.front().GetConfigs().front().GetInterfaces().at(1);
2422 pipe.SetDevAddr(BUFFER_SIZE);
2423 ret = UsbSrvClient.ReleaseInterface(pipe, interface);
2424 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::UsbReleaseInterface006 %{public}d ReleaseInterface=%{public}d",
2425 __LINE__, ret);
2426 EXPECT_TRUE(ret != 0);
2427 pipe.SetDevAddr(device.GetDevAddr());
2428 bool close = UsbSrvClient.Close(pipe);
2429 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::UsbReleaseInterface006 %{public}d close=%{public}d", __LINE__,
2430 close);
2431 EXPECT_TRUE(close);
2432 USB_HILOGI(MODULE_USB_SERVICE, "Case End : UsbReleaseInterface006 : ReleaseInterface");
2433 }
2434
2435 /**
2436 * @tc.name: UsbBulkTransfer001
2437 * @tc.desc: Test functions to BulkTransfer(const USBEndpoint &endpoint, uint8_t *buffer, uint32_t &length, int32_t
2438 * timeout);
2439 * @tc.type: FUNC
2440 */
2441 HWTEST_F(UsbDevicePipeTest, UsbBulkTransfer001, TestSize.Level1)
2442 {
2443 USB_HILOGI(MODULE_USB_SERVICE, "Case Start : UsbBulkTransfer001 : BulkTransfer");
2444 vector<UsbDevice> devi;
2445 auto &UsbSrvClient = UsbSrvClient::GetInstance();
2446 auto ret = UsbSrvClient.GetDevices(devi);
2447 EXPECT_TRUE(ret == 0);
2448 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::UsbBulkTransfer001 %{public}d ret=%{public}d", __LINE__, ret);
2449 EXPECT_TRUE(!(devi.empty())) << "delist NULL";
2450 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::UsbBulkTransfer001 %{public}d size=%{public}zu", __LINE__,
2451 devi.size());
2452 USBDevicePipe pipe;
2453 UsbDevice device = devi.front();
2454 UsbSrvClient.RequestRight(device.GetName());
2455 ret = UsbSrvClient.OpenDevice(device, pipe);
2456 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::UsbBulkTransfer001 %{public}d OpenDevice=%{public}d", __LINE__,
2457 ret);
2458 EXPECT_TRUE(ret == 0);
2459 UsbInterface interface = device.GetConfigs().front().GetInterfaces().at(1);
2460 USBEndpoint point = interface.GetEndpoints().front();
2461 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::UsbBulkTransfer001 %{public}d point=%{public}d", __LINE__,
2462 point.GetInterfaceId());
2463 ret = UsbSrvClient.ClaimInterface(pipe, interface, true);
2464 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::UsbBulkTransfer001 %{public}d ClaimInterface=%{public}d",
2465 __LINE__, ret);
2466 EXPECT_TRUE(ret == 0);
2467 uint8_t buffer[BUFFER_SIZE] = "bulk read";
2468 uint32_t len = BUFFER_SIZE;
2469 std::vector<uint8_t> bulkbuffer = {buffer, buffer + len};
2470 ret = UsbSrvClient.BulkTransfer(pipe, point, bulkbuffer, 500);
2471 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::UsbBulkTransfer001 %{public}d BulkTransfer=%{public}d", __LINE__,
2472 ret);
2473 EXPECT_TRUE(ret == 0);
2474 bool close = UsbSrvClient.Close(pipe);
2475 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::UsbBulkTransfer001 %{public}d close=%{public}d", __LINE__,
2476 close);
2477 EXPECT_TRUE(close);
2478 USB_HILOGI(MODULE_USB_SERVICE, "Case End : UsbBulkTransfer001 : BulkTransfer");
2479 }
2480
2481 /**
2482 * @tc.name: UsbBulkTransfer002
2483 * @tc.desc: Test functions to BulkTransfer(const USBEndpoint &endpoint, uint8_t *buffer, uint32_t &length, int32_t
2484 * timeout);
2485 * @tc.type: FUNC
2486 */
2487 HWTEST_F(UsbDevicePipeTest, UsbBulkTransfer002, TestSize.Level1)
2488 {
2489 USB_HILOGI(MODULE_USB_SERVICE, "Case Start : UsbBulkTransfer002 : BulkTransfer");
2490 vector<UsbDevice> devi;
2491 auto &UsbSrvClient = UsbSrvClient::GetInstance();
2492 auto ret = UsbSrvClient.GetDevices(devi);
2493 EXPECT_TRUE(ret == 0);
2494 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::UsbBulkTransfer002 %{public}d ret=%{public}d", __LINE__, ret);
2495 EXPECT_TRUE(!(devi.empty())) << "delist NULL";
2496 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::UsbBulkTransfer002 %{public}d size=%{public}zu", __LINE__,
2497 devi.size());
2498 USBDevicePipe pipe;
2499 UsbDevice device = devi.front();
2500 UsbSrvClient.RequestRight(device.GetName());
2501 UsbInterface interface = device.GetConfigs().front().GetInterfaces().at(1);
2502 USBEndpoint point = interface.GetEndpoints().front();
2503 ret = UsbSrvClient.OpenDevice(device, pipe);
2504 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::UsbBulkTransfer002 %{public}d OpenDevice=%{public}d", __LINE__,
2505 ret);
2506 EXPECT_TRUE(ret == 0);
2507 ret = UsbSrvClient.ClaimInterface(pipe, interface, true);
2508 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::UsbBulkTransfer002 %{public}d ClaimInterface=%{public}d",
2509 __LINE__, ret);
2510 EXPECT_TRUE(ret == 0);
2511 uint8_t buffer[BUFFER_SIZE] = "bulk read";
2512 uint32_t len = BUFFER_SIZE;
2513 std::vector<uint8_t> bulkbuffer = {buffer, buffer + len};
2514 ret = UsbSrvClient.BulkTransfer(pipe, point, bulkbuffer, -5);
2515 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::UsbBulkTransfer002 %{public}d BulkTransfer=%{public}d", __LINE__,
2516 ret);
2517 EXPECT_TRUE(ret == 0);
2518 bool close = UsbSrvClient.Close(pipe);
2519 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::UsbBulkTransfer002 %{public}d close=%{public}d", __LINE__,
2520 close);
2521 EXPECT_TRUE(close);
2522 USB_HILOGI(MODULE_USB_SERVICE, "Case End : UsbBulkTransfer002 : BulkTransfer");
2523 }
2524
2525 /**
2526 * @tc.name: UsbBulkTransfer003
2527 * @tc.desc: Test functions to BulkTransfer(const USBEndpoint &endpoint, uint8_t *buffer, uint32_t &length, int32_t
2528 * timeout);
2529 * @tc.type: FUNC
2530 */
2531 HWTEST_F(UsbDevicePipeTest, UsbBulkTransfer003, TestSize.Level1)
2532 {
2533 USB_HILOGI(MODULE_USB_SERVICE, "Case Start : UsbBulkTransfer003 : BulkTransfer");
2534 vector<UsbDevice> devi;
2535 auto &UsbSrvClient = UsbSrvClient::GetInstance();
2536 auto ret = UsbSrvClient.GetDevices(devi);
2537 EXPECT_TRUE(ret == 0);
2538 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::UsbBulkTransfer003 %{public}d ret=%{public}d", __LINE__, ret);
2539 EXPECT_TRUE(!(devi.empty())) << "delist NULL";
2540 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::UsbBulkTransfer003 %{public}d size=%{public}zu", __LINE__,
2541 devi.size());
2542 USBDevicePipe pipe;
2543 UsbDevice device = devi.front();
2544 UsbSrvClient.RequestRight(device.GetName());
2545 ret = UsbSrvClient.OpenDevice(device, pipe);
2546 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::UsbBulkTransfer003 %{public}d OpenDevice=%{public}d", __LINE__,
2547 ret);
2548 EXPECT_TRUE(ret == 0);
2549 UsbInterface interface = device.GetConfigs().front().GetInterfaces().at(1);
2550 USBEndpoint point = interface.GetEndpoints().front();
2551 ret = UsbSrvClient.ClaimInterface(pipe, interface, true);
2552 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::UsbBulkTransfer003 %{public}d ClaimInterface=%{public}d",
2553 __LINE__, ret);
2554 EXPECT_TRUE(ret == 0);
2555 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::UsbBulkTransfer003 %{public}d point=%{public}d", __LINE__,
2556 point.GetInterfaceId());
2557 uint8_t buffer[BUFFER_SIZE] = "bulk read";
2558 uint32_t len = BUFFER_SIZE;
2559 pipe.SetBusNum(BUFFER_SIZE);
2560 std::vector<uint8_t> bulkbuffer = {buffer, buffer + len};
2561 ret = UsbSrvClient.BulkTransfer(pipe, point, bulkbuffer, 500);
2562 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::UsbBulkTransfer003 %{public}d BulkTransfer=%{public}d", __LINE__,
2563 ret);
2564 EXPECT_TRUE(ret != 0);
2565 pipe.SetBusNum(device.GetBusNum());
2566 bool close = UsbSrvClient.Close(pipe);
2567 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::UsbBulkTransfer003 %{public}d close=%{public}d", __LINE__,
2568 close);
2569 EXPECT_TRUE(close);
2570 USB_HILOGI(MODULE_USB_SERVICE, "Case End : UsbBulkTransfer003 : BulkTransfer");
2571 }
2572
2573 /**
2574 * @tc.name: UsbBulkTransfer004
2575 * @tc.desc: Test functions to BulkTransfer(const USBEndpoint &endpoint, uint8_t *buffer, uint32_t &length, int32_t
2576 * timeout);
2577 * @tc.type: FUNC
2578 */
2579 HWTEST_F(UsbDevicePipeTest, UsbBulkTransfer004, TestSize.Level1)
2580 {
2581 USB_HILOGI(MODULE_USB_SERVICE, "Case Start : UsbBulkTransfer004 : BulkTransfer");
2582 vector<UsbDevice> devi;
2583 auto &UsbSrvClient = UsbSrvClient::GetInstance();
2584 auto ret = UsbSrvClient.GetDevices(devi);
2585 EXPECT_TRUE(ret == 0);
2586 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::UsbBulkTransfer004 %{public}d ret=%{public}d", __LINE__, ret);
2587 EXPECT_TRUE(!(devi.empty())) << "delist NULL";
2588 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::UsbBulkTransfer004 %{public}d size=%{public}zu", __LINE__,
2589 devi.size());
2590 USBDevicePipe pipe;
2591 UsbDevice device = devi.front();
2592 UsbSrvClient.RequestRight(device.GetName());
2593 ret = UsbSrvClient.OpenDevice(device, pipe);
2594 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::UsbBulkTransfer004 %{public}d OpenDevice=%{public}d", __LINE__,
2595 ret);
2596 EXPECT_TRUE(ret == 0);
2597 UsbInterface interface = device.GetConfigs().front().GetInterfaces().at(1);
2598 USBEndpoint point = interface.GetEndpoints().front();
2599 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::UsbBulkTransfer004 %{public}d point=%{public}d", __LINE__,
2600 point.GetInterfaceId());
2601 ret = UsbSrvClient.ClaimInterface(pipe, interface, true);
2602 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::UsbBulkTransfer004 %{public}d ClaimInterface=%{public}d",
2603 __LINE__, ret);
2604 EXPECT_TRUE(ret == 0);
2605 uint8_t buffer[BUFFER_SIZE] = "bulk read";
2606 uint32_t len = BUFFER_SIZE;
2607 pipe.SetDevAddr(BUFFER_SIZE);
2608 std::vector<uint8_t> bulkbuffer = {buffer, buffer + len};
2609 ret = UsbSrvClient.BulkTransfer(pipe, point, bulkbuffer, 500);
2610 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::UsbBulkTransfer004 %{public}d BulkTransfer=%{public}d", __LINE__,
2611 ret);
2612 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::UsbBulkTransfer004 %{public}d len=%{public}d", __LINE__, len);
2613 EXPECT_TRUE(ret != 0);
2614 pipe.SetDevAddr(device.GetDevAddr());
2615 bool close = UsbSrvClient.Close(pipe);
2616 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::UsbBulkTransfer004 %{public}d close=%{public}d", __LINE__,
2617 close);
2618 EXPECT_TRUE(close);
2619 USB_HILOGI(MODULE_USB_SERVICE, "Case End : UsbBulkTransfer004 : BulkTransfer");
2620 }
2621
2622 /**
2623 * @tc.name: UsbBulkTransfer005
2624 * @tc.desc: Test functions to BulkTransfer(const USBEndpoint &endpoint, uint8_t *buffer, uint32_t &length, int32_t
2625 * timeout);
2626 * @tc.type: FUNC
2627 */
2628 HWTEST_F(UsbDevicePipeTest, UsbBulkTransfer005, TestSize.Level1)
2629 {
2630 USB_HILOGI(MODULE_USB_SERVICE, "Case Start : UsbBulkTransfer005 : BulkTransfer");
2631 vector<UsbDevice> devi;
2632 auto &UsbSrvClient = UsbSrvClient::GetInstance();
2633 auto ret = UsbSrvClient.GetDevices(devi);
2634 EXPECT_TRUE(ret == 0);
2635 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::UsbBulkTransfer005 %{public}d ret=%{public}d", __LINE__, ret);
2636 EXPECT_TRUE(!(devi.empty())) << "delist NULL";
2637 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::UsbBulkTransfer005 %{public}d size=%{public}zu", __LINE__,
2638 devi.size());
2639 USBDevicePipe pipe;
2640 UsbDevice device = devi.front();
2641 UsbSrvClient.RequestRight(device.GetName());
2642 UsbInterface interface = device.GetConfigs().front().GetInterfaces().at(1);
2643 USBEndpoint point = interface.GetEndpoints().front();
2644 ret = UsbSrvClient.OpenDevice(device, pipe);
2645 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::UsbBulkTransfer005 %{public}d OpenDevice=%{public}d", __LINE__,
2646 ret);
2647 EXPECT_TRUE(ret == 0);
2648 ret = UsbSrvClient.ClaimInterface(pipe, interface, true);
2649 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::UsbBulkTransfer005 %{public}d ClaimInterface=%{public}d",
2650 __LINE__, ret);
2651 EXPECT_TRUE(ret == 0);
2652 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::UsbBulkTransfer005 %{public}d point=%{public}d", __LINE__,
2653 point.GetInterfaceId());
2654 uint8_t buffer[BUFFER_SIZE] = "bulk read";
2655 uint32_t len = BUFFER_SIZE;
2656 point.SetInterfaceId(BUFFER_SIZE);
2657 std::vector<uint8_t> bulkbuffer = {buffer, buffer + len};
2658 ret = UsbSrvClient.BulkTransfer(pipe, point, bulkbuffer, 500);
2659 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::UsbBulkTransfer005 %{public}d BulkTransfer=%{public}d", __LINE__,
2660 ret);
2661 EXPECT_TRUE(ret != 0);
2662 bool close = UsbSrvClient.Close(pipe);
2663 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::UsbBulkTransfer005 %{public}d close=%{public}d", __LINE__,
2664 close);
2665 EXPECT_TRUE(close);
2666 USB_HILOGI(MODULE_USB_SERVICE, "Case End : UsbBulkTransfer005 : BulkTransfer");
2667 }
2668
2669 /**
2670 * @tc.name: UsbBulkTransfer006
2671 * @tc.desc: Test functions to BulkTransfer(const USBEndpoint &endpoint, uint8_t *buffer, uint32_t &length, int32_t
2672 * timeout);
2673 * @tc.type: FUNC
2674 */
2675 HWTEST_F(UsbDevicePipeTest, UsbBulkTransfer006, TestSize.Level1)
2676 {
2677 USB_HILOGI(MODULE_USB_SERVICE, "Case Start : UsbBulkTransfer006 : BulkTransfer");
2678 vector<UsbDevice> devi;
2679 auto &UsbSrvClient = UsbSrvClient::GetInstance();
2680 auto ret = UsbSrvClient.GetDevices(devi);
2681 EXPECT_TRUE(ret == 0);
2682 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::UsbBulkTransfer006 %{public}d ret=%{public}d", __LINE__, ret);
2683 EXPECT_TRUE(!(devi.empty())) << "delist NULL";
2684 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::UsbBulkTransfer006 %{public}d size=%{public}zu", __LINE__,
2685 devi.size());
2686 USBDevicePipe pipe;
2687 UsbDevice device = devi.front();
2688 UsbSrvClient.RequestRight(device.GetName());
2689 UsbInterface interface = device.GetConfigs().front().GetInterfaces().at(1);
2690 USBEndpoint point = interface.GetEndpoints().front();
2691 ret = UsbSrvClient.OpenDevice(device, pipe);
2692 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::UsbBulkTransfer006 %{public}d OpenDevice=%{public}d", __LINE__,
2693 ret);
2694 EXPECT_TRUE(ret == 0);
2695 ret = UsbSrvClient.ClaimInterface(pipe, interface, true);
2696 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::UsbBulkTransfer006 %{public}d ClaimInterface=%{public}d",
2697 __LINE__, ret);
2698 EXPECT_TRUE(ret == 0);
2699 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::UsbBulkTransfer006 %{public}d point=%{public}d", __LINE__,
2700 point.GetInterfaceId());
2701 uint8_t buffer[BUFFER_SIZE] = "bulk read";
2702 uint32_t len = BUFFER_SIZE;
2703 point.SetAddr(BUFFER_SIZE);
2704 std::vector<uint8_t> bulkbuffer = {buffer, buffer + len};
2705 ret = UsbSrvClient.BulkTransfer(pipe, point, bulkbuffer, 500);
2706 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::UsbBulkTransfer006 %{public}d BulkTransfer=%{public}d", __LINE__,
2707 ret);
2708 EXPECT_TRUE(ret != 0);
2709 bool close = UsbSrvClient.Close(pipe);
2710 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::UsbBulkTransfer006 %{public}d close=%{public}d", __LINE__,
2711 close);
2712 EXPECT_TRUE(close);
2713 USB_HILOGI(MODULE_USB_SERVICE, "Case End : UsbBulkTransfer006 : BulkTransfer");
2714 }
2715
2716 /**
2717 * @tc.name: UsbBulkTransfer007
2718 * @tc.desc: Test functions to BulkTransfer(const USBEndpoint &endpoint, uint8_t *buffer, uint32_t &length, int32_t
2719 * timeout);
2720 * @tc.type: FUNC
2721 */
2722 HWTEST_F(UsbDevicePipeTest, UsbBulkTransfer007, TestSize.Level1)
2723 {
2724 USB_HILOGI(MODULE_USB_SERVICE, "Case Start : UsbBulkTransfer007 : BulkTransfer");
2725 vector<UsbDevice> devi;
2726 auto &UsbSrvClient = UsbSrvClient::GetInstance();
2727 auto ret = UsbSrvClient.GetDevices(devi);
2728 EXPECT_TRUE(ret == 0);
2729 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::UsbBulkTransfer007 %{public}d ret=%{public}d", __LINE__, ret);
2730 EXPECT_TRUE(!(devi.empty())) << "delist NULL";
2731 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::UsbBulkTransfer007 %{public}d size=%{public}zu", __LINE__,
2732 devi.size());
2733 USBDevicePipe pipe;
2734 UsbDevice device = devi.front();
2735 UsbSrvClient.RequestRight(device.GetName());
2736 UsbInterface interface = device.GetConfigs().front().GetInterfaces().at(1);
2737 USBEndpoint point = interface.GetEndpoints().at(1);
2738 ret = UsbSrvClient.OpenDevice(device, pipe);
2739 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::UsbBulkTransfer007 %{public}d OpenDevice=%{public}d", __LINE__,
2740 ret);
2741 EXPECT_TRUE(ret == 0);
2742 ret = UsbSrvClient.ClaimInterface(pipe, interface, true);
2743 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::UsbBulkTransfer007 %{public}d ClaimInterface=%{public}d",
2744 __LINE__, ret);
2745 EXPECT_TRUE(ret == 0);
2746 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::UsbBulkTransfer007 %{public}d point=%{public}d", __LINE__,
2747 point.GetInterfaceId());
2748 uint8_t buffer[BUFFER_SIZE] = "hello world Bulk transfer007";
2749 uint32_t len = BUFFER_SIZE;
2750 std::vector<uint8_t> bulkbuffer = {buffer, buffer + len};
2751 ret = UsbSrvClient.BulkTransfer(pipe, point, bulkbuffer, 500);
2752 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::UsbBulkTransfer007 %{public}d BulkTransfer=%{public}d", __LINE__,
2753 ret);
2754 EXPECT_TRUE(ret == 0);
2755 bool close = UsbSrvClient.Close(pipe);
2756 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::UsbBulkTransfer007 %{public}d close=%{public}d", __LINE__,
2757 close);
2758 EXPECT_TRUE(close);
2759 USB_HILOGI(MODULE_USB_SERVICE, "Case End : UsbBulkTransfer007 : BulkTransfer");
2760 }
2761
2762 /**
2763 * @tc.name: UsbBulkTransfer008
2764 * @tc.desc: Test functions to BulkTransfer(const USBEndpoint &endpoint, uint8_t *buffer, uint32_t &length, int32_t
2765 * timeout);
2766 * @tc.type: FUNC
2767 */
2768 HWTEST_F(UsbDevicePipeTest, UsbBulkTransfer008, TestSize.Level1)
2769 {
2770 USB_HILOGI(MODULE_USB_SERVICE, "Case Start : UsbBulkTransfer008 : BulkTransfer");
2771 vector<UsbDevice> devi;
2772 auto &UsbSrvClient = UsbSrvClient::GetInstance();
2773 auto ret = UsbSrvClient.GetDevices(devi);
2774 EXPECT_TRUE(ret == 0);
2775 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::UsbBulkTransfer008 %{public}d ret=%{public}d", __LINE__, ret);
2776 EXPECT_TRUE(!(devi.empty())) << "delist NULL";
2777 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::UsbBulkTransfer008 %{public}d size=%{public}zu", __LINE__,
2778 devi.size());
2779 USBDevicePipe pipe;
2780 UsbDevice device = devi.front();
2781 UsbSrvClient.RequestRight(device.GetName());
2782 UsbInterface interface = device.GetConfigs().front().GetInterfaces().at(1);
2783 USBEndpoint point = interface.GetEndpoints().at(1);
2784 ret = UsbSrvClient.OpenDevice(device, pipe);
2785 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::UsbBulkTransfer008 %{public}d OpenDevice=%{public}d", __LINE__,
2786 ret);
2787 EXPECT_TRUE(ret == 0);
2788 ret = UsbSrvClient.ClaimInterface(pipe, interface, true);
2789 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::UsbBulkTransfer008 %{public}d ClaimInterface=%{public}d",
2790 __LINE__, ret);
2791 EXPECT_TRUE(ret == 0);
2792 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::UsbBulkTransfer008 %{public}d point=%{public}d", __LINE__,
2793 point.GetInterfaceId());
2794 uint8_t buffer[BUFFER_SIZE] = "hello world Bulk transfer008";
2795 uint32_t len = BUFFER_SIZE;
2796 pipe.SetDevAddr(BUFFER_SIZE);
2797 std::vector<uint8_t> bulkbuffer = {buffer, buffer + len};
2798 ret = UsbSrvClient.BulkTransfer(pipe, point, bulkbuffer, 500);
2799 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::UsbBulkTransfer008 %{public}d BulkTransfer=%{public}d", __LINE__,
2800 ret);
2801 EXPECT_TRUE(ret != 0);
2802 pipe.SetDevAddr(device.GetDevAddr());
2803 bool close = UsbSrvClient.Close(pipe);
2804 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::UsbBulkTransfer008 %{public}d close=%{public}d", __LINE__,
2805 close);
2806 EXPECT_TRUE(close);
2807 USB_HILOGI(MODULE_USB_SERVICE, "Case End : UsbBulkTransfer008 : BulkTransfer");
2808 }
2809
2810 /**
2811 * @tc.name: UsbBulkTransfer009
2812 * @tc.desc: Test functions to BulkTransfer(const USBEndpoint &endpoint, uint8_t *buffer, uint32_t &length, int32_t
2813 * timeout);
2814 * @tc.type: FUNC
2815 */
2816 HWTEST_F(UsbDevicePipeTest, UsbBulkTransfer009, TestSize.Level1)
2817 {
2818 USB_HILOGI(MODULE_USB_SERVICE, "Case Start : UsbBulkTransfer009 : BulkTransfer");
2819 vector<UsbDevice> devi;
2820 auto &UsbSrvClient = UsbSrvClient::GetInstance();
2821 auto ret = UsbSrvClient.GetDevices(devi);
2822 EXPECT_TRUE(ret == 0);
2823 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::UsbBulkTransfer009 %{public}d ret=%{public}d", __LINE__, ret);
2824 EXPECT_TRUE(!(devi.empty())) << "delist NULL";
2825 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::UsbBulkTransfer009 %{public}d size=%{public}zu", __LINE__,
2826 devi.size());
2827 USBDevicePipe pipe;
2828 UsbDevice device = devi.front();
2829 UsbSrvClient.RequestRight(device.GetName());
2830 UsbInterface interface = device.GetConfigs().front().GetInterfaces().at(1);
2831 USBEndpoint point = interface.GetEndpoints().at(1);
2832 ret = UsbSrvClient.OpenDevice(device, pipe);
2833 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::UsbBulkTransfer009 %{public}d OpenDevice=%{public}d", __LINE__,
2834 ret);
2835 EXPECT_TRUE(ret == 0);
2836 ret = UsbSrvClient.ClaimInterface(pipe, interface, true);
2837 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::UsbBulkTransfer009 %{public}d ClaimInterface=%{public}d",
2838 __LINE__, ret);
2839 EXPECT_TRUE(ret == 0);
2840 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::UsbBulkTransfer009 %{public}d point=%{public}d", __LINE__,
2841 point.GetInterfaceId());
2842 uint8_t buffer[BUFFER_SIZE] = "hello world Bulk transfer009";
2843 uint32_t len = BUFFER_SIZE;
2844 pipe.SetBusNum(BUFFER_SIZE);
2845 std::vector<uint8_t> bulkbuffer = {buffer, buffer + len};
2846 ret = UsbSrvClient.BulkTransfer(pipe, point, bulkbuffer, 500);
2847 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::UsbBulkTransfer009 %{public}d BulkTransfer=%{public}d", __LINE__,
2848 ret);
2849 EXPECT_TRUE(ret != 0);
2850 pipe.SetBusNum(device.GetBusNum());
2851 bool close = UsbSrvClient.Close(pipe);
2852 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::UsbBulkTransfer009 %{public}d close=%{public}d", __LINE__,
2853 close);
2854 EXPECT_TRUE(close);
2855 USB_HILOGI(MODULE_USB_SERVICE, "Case End : UsbBulkTransfer009 : BulkTransfer");
2856 }
2857
2858 /**
2859 * @tc.name: UsbBulkTransfer010
2860 * @tc.desc: Test functions to BulkTransfer(const USBEndpoint &endpoint, uint8_t *buffer, uint32_t &length, int32_t
2861 * timeout);
2862 * @tc.type: FUNC
2863 */
2864 HWTEST_F(UsbDevicePipeTest, UsbBulkTransfer010, TestSize.Level1)
2865 {
2866 USB_HILOGI(MODULE_USB_SERVICE, "Case Start : UsbBulkTransfer010 : BulkTransfer");
2867 vector<UsbDevice> devi;
2868 auto &UsbSrvClient = UsbSrvClient::GetInstance();
2869 auto ret = UsbSrvClient.GetDevices(devi);
2870 EXPECT_TRUE(ret == 0);
2871 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::UsbBulkTransfer010 %{public}d ret=%{public}d", __LINE__, ret);
2872 EXPECT_TRUE(!(devi.empty())) << "delist NULL";
2873 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::UsbBulkTransfer010 %{public}d size=%{public}zu", __LINE__,
2874 devi.size());
2875 USBDevicePipe pipe;
2876 UsbDevice device = devi.front();
2877 UsbSrvClient.RequestRight(device.GetName());
2878 UsbInterface interface = device.GetConfigs().front().GetInterfaces().at(1);
2879 USBEndpoint point = interface.GetEndpoints().at(1);
2880 ret = UsbSrvClient.OpenDevice(device, pipe);
2881 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::UsbBulkTransfer010 %{public}d OpenDevice=%{public}d", __LINE__,
2882 ret);
2883 EXPECT_TRUE(ret == 0);
2884 ret = UsbSrvClient.ClaimInterface(pipe, interface, true);
2885 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::UsbBulkTransfer010 %{public}d ClaimInterface=%{public}d",
2886 __LINE__, ret);
2887 EXPECT_TRUE(ret == 0);
2888 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::UsbBulkTransfer010 %{public}d point=%{public}d", __LINE__,
2889 point.GetInterfaceId());
2890 uint8_t buffer[BUFFER_SIZE] = "hello world Bulk transfer010";
2891 uint32_t len = BUFFER_SIZE;
2892 std::vector<uint8_t> bulkbuffer = {buffer, buffer + len};
2893 ret = UsbSrvClient.BulkTransfer(pipe, point, bulkbuffer, -5);
2894 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::UsbBulkTransfer010 %{public}d BulkTransfer=%{public}d", __LINE__,
2895 ret);
2896 EXPECT_TRUE(ret == 0);
2897 bool close = UsbSrvClient.Close(pipe);
2898 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::UsbBulkTransfer010 %{public}d close=%{public}d", __LINE__,
2899 close);
2900 EXPECT_TRUE(close);
2901 USB_HILOGI(MODULE_USB_SERVICE, "Case End : UsbBulkTransfer010 : BulkTransfer");
2902 }
2903
2904 /**
2905 * @tc.name: SetConfiguration001
2906 * @tc.desc: Test functions to SetConfiguration(const USBConfig &config);
2907 * @tc.type: FUNC
2908 */
2909 HWTEST_F(UsbDevicePipeTest, SetConfiguration001, TestSize.Level1)
2910 {
2911 USB_HILOGI(MODULE_USB_SERVICE, "Case Start : SetConfiguration001 : SetConfiguration");
2912 vector<UsbDevice> devi;
2913 auto &UsbSrvClient = UsbSrvClient::GetInstance();
2914 auto ret = UsbSrvClient.GetDevices(devi);
2915 EXPECT_TRUE(ret == 0);
2916 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::SetConfiguration001 %{public}d ret=%{public}d", __LINE__, ret);
2917 EXPECT_TRUE(!(devi.empty())) << "delist NULL";
2918 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::SetConfiguration001 %{public}d size=%{public}zu", __LINE__,
2919 devi.size());
2920 USBDevicePipe pipe;
2921 UsbDevice device = devi.front();
2922 UsbSrvClient.RequestRight(device.GetName());
2923 USBConfig config = device.GetConfigs().front();
2924 ret = UsbSrvClient.OpenDevice(device, pipe);
2925 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::SetConfiguration001 %{public}d OpenDevice=%{public}d", __LINE__,
2926 ret);
2927 EXPECT_TRUE(ret == 0);
2928 ret = UsbSrvClient.SetConfiguration(pipe, config);
2929 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::SetConfiguration001 %{public}d SetConfiguration=%{public}d",
2930 __LINE__, ret);
2931 EXPECT_TRUE(ret == 0);
2932 bool close = UsbSrvClient.Close(pipe);
2933 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::SetConfiguration001 %{public}d close=%{public}d", __LINE__,
2934 close);
2935 EXPECT_TRUE(close);
2936 USB_HILOGI(MODULE_USB_SERVICE, "Case End : SetConfiguration001 : SetConfiguration");
2937 }
2938
2939 /**
2940 * @tc.name: SetConfiguration002
2941 * @tc.desc: Test functions to SetConfiguration(const USBConfig &config);
2942 * @tc.type: FUNC
2943 */
2944 HWTEST_F(UsbDevicePipeTest, SetConfiguration002, TestSize.Level1)
2945 {
2946 USB_HILOGI(MODULE_USB_SERVICE, "Case Start : SetConfiguration002 : SetConfiguration");
2947 vector<UsbDevice> devi;
2948 auto &UsbSrvClient = UsbSrvClient::GetInstance();
2949 auto ret = UsbSrvClient.GetDevices(devi);
2950 EXPECT_TRUE(ret == 0);
2951 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::SetConfiguration002 %{public}d ret=%{public}d", __LINE__, ret);
2952 EXPECT_TRUE(!(devi.empty())) << "delist NULL";
2953 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::SetConfiguration002 %{public}d size=%{public}zu", __LINE__,
2954 devi.size());
2955 USBDevicePipe pipe;
2956 UsbDevice device = devi.front();
2957 UsbSrvClient.RequestRight(device.GetName());
2958 USBConfig config = device.GetConfigs().front();
2959 ret = UsbSrvClient.OpenDevice(device, pipe);
2960 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::SetConfiguration002 %{public}d OpenDevice=%{public}d", __LINE__,
2961 ret);
2962 EXPECT_TRUE(ret == 0);
2963 pipe.SetBusNum(BUFFER_SIZE);
2964 ret = UsbSrvClient.SetConfiguration(pipe, config);
2965 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::SetConfiguration002 %{public}d SetConfiguration=%{public}d",
2966 __LINE__, ret);
2967 EXPECT_TRUE(ret != 0);
2968 pipe.SetBusNum(device.GetBusNum());
2969 bool close = UsbSrvClient.Close(pipe);
2970 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::SetConfiguration002 %{public}d close=%{public}d", __LINE__,
2971 close);
2972 EXPECT_TRUE(close);
2973 USB_HILOGI(MODULE_USB_SERVICE, "Case End : SetConfiguration002 : SetConfiguration");
2974 }
2975
2976 /**
2977 * @tc.name: SetConfiguration003
2978 * @tc.desc: Test functions to SetConfiguration(const USBConfig &config);
2979 * @tc.type: FUNC
2980 */
2981 HWTEST_F(UsbDevicePipeTest, SetConfiguration003, TestSize.Level1)
2982 {
2983 USB_HILOGI(MODULE_USB_SERVICE, "Case Start : SetConfiguration003 : SetConfiguration");
2984 vector<UsbDevice> devi;
2985 auto &UsbSrvClient = UsbSrvClient::GetInstance();
2986 auto ret = UsbSrvClient.GetDevices(devi);
2987 EXPECT_TRUE(ret == 0);
2988 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::SetConfiguration003 %{public}d ret=%{public}d", __LINE__, ret);
2989 EXPECT_TRUE(!(devi.empty())) << "delist NULL";
2990 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::SetConfiguration003 %{public}d size=%{public}zu", __LINE__,
2991 devi.size());
2992 USBDevicePipe pipe;
2993 UsbDevice device = devi.front();
2994 UsbSrvClient.RequestRight(device.GetName());
2995 USBConfig config = device.GetConfigs().front();
2996 ret = UsbSrvClient.OpenDevice(device, pipe);
2997 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::SetConfiguration003 %{public}d OpenDevice=%{public}d", __LINE__,
2998 ret);
2999 EXPECT_TRUE(ret == 0);
3000 pipe.SetDevAddr(BUFFER_SIZE);
3001 ret = UsbSrvClient.SetConfiguration(pipe, config);
3002 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::SetConfiguration003 %{public}d SetConfiguration=%{public}d",
3003 __LINE__, ret);
3004 EXPECT_TRUE(ret != 0);
3005 pipe.SetDevAddr(device.GetDevAddr());
3006 bool close = UsbSrvClient.Close(pipe);
3007 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::SetConfiguration003 %{public}d close=%{public}d", __LINE__,
3008 close);
3009 EXPECT_TRUE(close);
3010
3011 USB_HILOGI(MODULE_USB_SERVICE, "Case End : SetConfiguration003 : SetConfiguration");
3012 }
3013
3014 /**
3015 * @tc.name: Close001
3016 * @tc.desc: Test functions to Close();
3017 * @tc.type: FUNC
3018 */
3019 HWTEST_F(UsbDevicePipeTest, Close001, TestSize.Level1)
3020 {
3021 USB_HILOGI(MODULE_USB_SERVICE, "Case Start : Close001 : Close");
3022 vector<UsbDevice> devi;
3023 auto &UsbSrvClient = UsbSrvClient::GetInstance();
3024 auto ret = UsbSrvClient.GetDevices(devi);
3025 EXPECT_TRUE(ret == 0);
3026 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::Close001 %{public}d ret=%{public}d", __LINE__, ret);
3027 EXPECT_TRUE(!(devi.empty())) << "delist NULL";
3028 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::Close001 %{public}d size=%{public}zu", __LINE__, devi.size());
3029 USBDevicePipe pipe;
3030 UsbDevice device = devi.front();
3031 UsbSrvClient.RequestRight(device.GetName());
3032 ret = UsbSrvClient.OpenDevice(device, pipe);
3033 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::Close001 %{public}d OpenDevice=%{public}d", __LINE__, ret);
3034 EXPECT_TRUE(ret == 0);
3035 ret = UsbSrvClient.Close(pipe);
3036 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::Close001 %{public}d close=%{public}d", __LINE__, ret);
3037 EXPECT_TRUE(ret);
3038 USB_HILOGI(MODULE_USB_SERVICE, "Case End : Close001 : Close");
3039 }
3040
3041 /**
3042 * @tc.name: Close002
3043 * @tc.desc: Test functions to Close();
3044 * @tc.type: FUNC
3045 */
3046 HWTEST_F(UsbDevicePipeTest, Close002, TestSize.Level1)
3047 {
3048 USB_HILOGI(MODULE_USB_SERVICE, "Case Start : Close002 : Close");
3049 vector<UsbDevice> devi;
3050 auto &UsbSrvClient = UsbSrvClient::GetInstance();
3051 auto ret = UsbSrvClient.GetDevices(devi);
3052 EXPECT_TRUE(ret == 0);
3053 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::Close002 %{public}d ret=%{public}d", __LINE__, ret);
3054 EXPECT_TRUE(!(devi.empty())) << "delist NULL";
3055 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::Close002 %{public}d size=%{public}zu", __LINE__, devi.size());
3056 USBDevicePipe pipe;
3057 UsbDevice device = devi.front();
3058 UsbSrvClient.RequestRight(device.GetName());
3059 ret = UsbSrvClient.OpenDevice(device, pipe);
3060 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::Close002 %{public}d OpenDevice=%{public}d", __LINE__, ret);
3061 EXPECT_TRUE(ret == 0);
3062 pipe.SetBusNum(BUFFER_SIZE);
3063 ret = UsbSrvClient.Close(pipe);
3064 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::Close002 %{public}d close=%{public}d", __LINE__, ret);
3065 EXPECT_TRUE(!ret);
3066 pipe.SetBusNum(device.GetBusNum());
3067 ret = UsbSrvClient.Close(pipe);
3068 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::Close002 %{public}d close=%{public}d", __LINE__, ret);
3069 EXPECT_TRUE(ret);
3070 USB_HILOGI(MODULE_USB_SERVICE, "Case End : Close002 : Close");
3071 }
3072
3073 /**
3074 * @tc.name: Close003
3075 * @tc.desc: Test functions to Close();
3076 * @tc.type: FUNC
3077 */
3078 HWTEST_F(UsbDevicePipeTest, Close003, TestSize.Level1)
3079 {
3080 USB_HILOGI(MODULE_USB_SERVICE, "Case Start : Close003 : Close");
3081 vector<UsbDevice> devi;
3082 auto &UsbSrvClient = UsbSrvClient::GetInstance();
3083 auto ret = UsbSrvClient.GetDevices(devi);
3084 EXPECT_TRUE(ret == 0);
3085 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::Close003 %{public}d ret=%{public}d", __LINE__, ret);
3086 EXPECT_TRUE(!(devi.empty())) << "delist NULL";
3087 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::Close003 %{public}d size=%{public}zu", __LINE__, devi.size());
3088 USBDevicePipe pipe;
3089 UsbDevice device = devi.front();
3090 UsbSrvClient.RequestRight(device.GetName());
3091 ret = UsbSrvClient.OpenDevice(device, pipe);
3092 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::Close003 %{public}d OpenDevice=%{public}d", __LINE__, ret);
3093 EXPECT_TRUE(ret == 0);
3094 pipe.SetDevAddr(BUFFER_SIZE);
3095 ret = UsbSrvClient.Close(pipe);
3096 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::Close003 %{public}d close=%{public}d", __LINE__, ret);
3097 EXPECT_TRUE(!ret);
3098 pipe.SetDevAddr(device.GetDevAddr());
3099 ret = UsbSrvClient.Close(pipe);
3100 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::Close003 %{public}d close=%{public}d", __LINE__, ret);
3101 EXPECT_TRUE(ret);
3102 USB_HILOGI(MODULE_USB_SERVICE, "Case End : Close003 : Close");
3103 }
3104
3105 /**
3106 * @tc.name: SetInterface001
3107 * @tc.desc: Test functions to SetInterface(const UsbInterface &interface);
3108 * @tc.type: FUNC
3109 */
3110 HWTEST_F(UsbDevicePipeTest, SetInterface001, TestSize.Level1)
3111 {
3112 USB_HILOGI(MODULE_USB_SERVICE, "Case Start : SetInterface001 : SetInterface");
3113 vector<UsbDevice> devi;
3114 auto &UsbSrvClient = UsbSrvClient::GetInstance();
3115 auto ret = UsbSrvClient.GetDevices(devi);
3116 EXPECT_TRUE(ret == 0);
3117 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::SetInterface001 %{public}d ret=%{public}d", __LINE__, ret);
3118 EXPECT_TRUE(!(devi.empty())) << "delist NULL";
3119 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::SetInterface001 %{public}d size=%{public}zu", __LINE__,
3120 devi.size());
3121 USBDevicePipe pipe;
3122 UsbDevice device = devi.front();
3123 UsbSrvClient.RequestRight(device.GetName());
3124 ret = UsbSrvClient.OpenDevice(device, pipe);
3125 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::SetInterface001 %{public}d OpenDevice=%{public}d", __LINE__,
3126 ret);
3127 EXPECT_TRUE(ret == 0);
3128 UsbInterface interface = device.GetConfigs().front().GetInterfaces().at(0);
3129 ret = UsbSrvClient.ClaimInterface(pipe, interface, true);
3130 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::SetInterface001 %{public}d ClaimInterface=%{public}d", __LINE__,
3131 ret);
3132 EXPECT_TRUE(ret == 0);
3133 ret = UsbSrvClient.SetInterface(pipe, interface);
3134 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::SetInterface001 %{public}d SetInterface=%{public}d", __LINE__,
3135 ret);
3136 EXPECT_TRUE(ret == 0);
3137 bool close = UsbSrvClient.Close(pipe);
3138 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::SetInterface001 %{public}d close=%{public}d", __LINE__, close);
3139 EXPECT_TRUE(close);
3140 USB_HILOGI(MODULE_USB_SERVICE, "Case End : SetInterface001 : SetInterface");
3141 }
3142
3143 /**
3144 * @tc.name: SetInterface002
3145 * @tc.desc: Test functions to SetInterface(const UsbInterface &interface);
3146 * @tc.type: FUNC
3147 */
3148 HWTEST_F(UsbDevicePipeTest, SetInterface002, TestSize.Level1)
3149 {
3150 USB_HILOGI(MODULE_USB_SERVICE, "Case Start : SetInterface002 : SetInterface");
3151 vector<UsbDevice> devi;
3152 auto &UsbSrvClient = UsbSrvClient::GetInstance();
3153 auto ret = UsbSrvClient.GetDevices(devi);
3154 EXPECT_TRUE(ret == 0);
3155 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::SetInterface002 %{public}d ret=%{public}d", __LINE__, ret);
3156 EXPECT_TRUE(!(devi.empty())) << "delist NULL";
3157 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::SetInterface002 %{public}d size=%{public}zu", __LINE__,
3158 devi.size());
3159 USBDevicePipe pipe;
3160 UsbDevice device = devi.front();
3161 UsbSrvClient.RequestRight(device.GetName());
3162 ret = UsbSrvClient.OpenDevice(device, pipe);
3163 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::SetInterface002 %{public}d OpenDevice=%{public}d", __LINE__,
3164 ret);
3165 EXPECT_TRUE(ret == 0);
3166 UsbInterface interface = device.GetConfigs().front().GetInterfaces().at(0);
3167 ret = UsbSrvClient.ClaimInterface(pipe, interface, true);
3168 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::SetInterface002 %{public}d ClaimInterface=%{public}d", __LINE__,
3169 ret);
3170 EXPECT_TRUE(ret == 0);
3171 pipe.SetBusNum(BUFFER_SIZE);
3172 ret = UsbSrvClient.SetInterface(pipe, interface);
3173 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::SetInterface002 %{public}d SetInterface=%{public}d", __LINE__,
3174 ret);
3175 EXPECT_TRUE(ret != 0);
3176 pipe.SetBusNum(device.GetBusNum());
3177 bool close = UsbSrvClient.Close(pipe);
3178 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::SetInterface002 %{public}d close=%{public}d", __LINE__, close);
3179 EXPECT_TRUE(close);
3180 USB_HILOGI(MODULE_USB_SERVICE, "Case End : SetInterface002 : SetInterface");
3181 }
3182
3183 /**
3184 * @tc.name: SetInterface003
3185 * @tc.desc: Test functions to SetInterface(const UsbInterface &interface);
3186 * @tc.type: FUNC
3187 */
3188 HWTEST_F(UsbDevicePipeTest, SetInterface003, TestSize.Level1)
3189 {
3190 USB_HILOGI(MODULE_USB_SERVICE, "Case Start : SetInterface003 : SetInterface");
3191 vector<UsbDevice> devi;
3192 auto &UsbSrvClient = UsbSrvClient::GetInstance();
3193 auto ret = UsbSrvClient.GetDevices(devi);
3194 EXPECT_TRUE(ret == 0);
3195 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::SetInterface003 %{public}d ret=%{public}d", __LINE__, ret);
3196 EXPECT_TRUE(!(devi.empty())) << "delist NULL";
3197 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::SetInterface003 %{public}d size=%{public}zu", __LINE__,
3198 devi.size());
3199 USBDevicePipe pipe;
3200 UsbDevice device = devi.front();
3201 UsbSrvClient.RequestRight(device.GetName());
3202 ret = UsbSrvClient.OpenDevice(device, pipe);
3203 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::SetInterface003 %{public}d OpenDevice=%{public}d", __LINE__,
3204 ret);
3205 EXPECT_TRUE(ret == 0);
3206 UsbInterface interface = device.GetConfigs().front().GetInterfaces().at(0);
3207 ret = UsbSrvClient.ClaimInterface(pipe, interface, true);
3208 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::SetInterface003 %{public}d ClaimInterface=%{public}d", __LINE__,
3209 ret);
3210 EXPECT_TRUE(ret == 0);
3211 pipe.SetDevAddr(BUFFER_SIZE);
3212 ret = UsbSrvClient.SetInterface(pipe, interface);
3213 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::SetInterface003 %{public}d SetInterface=%{public}d", __LINE__,
3214 ret);
3215 EXPECT_TRUE(ret != 0);
3216 pipe.SetDevAddr(device.GetDevAddr());
3217 bool close = UsbSrvClient.Close(pipe);
3218 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::SetInterface003 %{public}d close=%{public}d", __LINE__, close);
3219 EXPECT_TRUE(close);
3220 USB_HILOGI(MODULE_USB_SERVICE, "Case End : SetInterface003 : SetInterface");
3221 }
3222
3223 /**
3224 * @tc.name: SetInterface004
3225 * @tc.desc: Test functions to SetInterface(const UsbInterface &interface);
3226 * @tc.type: FUNC
3227 */
3228 HWTEST_F(UsbDevicePipeTest, SetInterface004, TestSize.Level1)
3229 {
3230 USB_HILOGI(MODULE_USB_SERVICE, "Case Start : SetInterface004 : SetInterface");
3231 vector<UsbDevice> devi;
3232 auto &UsbSrvClient = UsbSrvClient::GetInstance();
3233 auto ret = UsbSrvClient.GetDevices(devi);
3234 EXPECT_TRUE(ret == 0);
3235 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::SetInterface004 %{public}d ret=%{public}d", __LINE__, ret);
3236 EXPECT_TRUE(!(devi.empty())) << "delist NULL";
3237 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::SetInterface004 %{public}d size=%{public}zu", __LINE__,
3238 devi.size());
3239 USBDevicePipe pipe;
3240 UsbDevice device = devi.front();
3241 UsbSrvClient.RequestRight(device.GetName());
3242 ret = UsbSrvClient.OpenDevice(device, pipe);
3243 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::SetInterface004 %{public}d OpenDevice=%{public}d", __LINE__,
3244 ret);
3245 EXPECT_TRUE(ret == 0);
3246 UsbInterface interface = device.GetConfigs().at(0).GetInterfaces().at(1);
3247 ret = UsbSrvClient.ClaimInterface(pipe, interface, true);
3248 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::SetInterface004 %{public}d ClaimInterface=%{public}d", __LINE__,
3249 ret);
3250 EXPECT_TRUE(ret == 0);
3251 ret = UsbSrvClient.SetInterface(pipe, interface);
3252 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::SetInterface004 %{public}d SetInterface=%{public}d", __LINE__,
3253 ret);
3254 EXPECT_TRUE(ret == 0);
3255 bool close = UsbSrvClient.Close(pipe);
3256 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::SetInterface004 %{public}d close=%{public}d", __LINE__, close);
3257 EXPECT_TRUE(close);
3258 USB_HILOGI(MODULE_USB_SERVICE, "Case End : SetInterface004 : SetInterface");
3259 }
3260
3261 /**
3262 * @tc.name: SetInterface005
3263 * @tc.desc: Test functions to SetInterface(const UsbInterface &interface);
3264 * @tc.type: FUNC
3265 */
3266 HWTEST_F(UsbDevicePipeTest, SetInterface005, TestSize.Level1)
3267 {
3268 USB_HILOGI(MODULE_USB_SERVICE, "Case Start : SetInterface005 : SetInterface");
3269 vector<UsbDevice> devi;
3270 auto &UsbSrvClient = UsbSrvClient::GetInstance();
3271 auto ret = UsbSrvClient.GetDevices(devi);
3272 EXPECT_TRUE(ret == 0);
3273 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::SetInterface005 %{public}d ret=%{public}d", __LINE__, ret);
3274 EXPECT_TRUE(!(devi.empty())) << "delist NULL";
3275 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::SetInterface005 %{public}d size=%{public}zu", __LINE__,
3276 devi.size());
3277 USBDevicePipe pipe;
3278 UsbDevice device = devi.front();
3279 UsbSrvClient.RequestRight(device.GetName());
3280 ret = UsbSrvClient.OpenDevice(device, pipe);
3281 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::SetInterface005 %{public}d OpenDevice=%{public}d", __LINE__,
3282 ret);
3283 EXPECT_TRUE(ret == 0);
3284 UsbInterface interface = device.GetConfigs().at(0).GetInterfaces().at(1);
3285 ret = UsbSrvClient.ClaimInterface(pipe, interface, true);
3286 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::SetInterface005 %{public}d ClaimInterface=%{public}d", __LINE__,
3287 ret);
3288 EXPECT_TRUE(ret == 0);
3289 pipe.SetBusNum(BUFFER_SIZE);
3290 ret = UsbSrvClient.SetInterface(pipe, interface);
3291 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::SetInterface005 %{public}d SetInterface=%{public}d", __LINE__,
3292 ret);
3293 EXPECT_TRUE(ret != 0);
3294 pipe.SetBusNum(device.GetBusNum());
3295 bool close = UsbSrvClient.Close(pipe);
3296 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::SetInterface005 %{public}d close=%{public}d", __LINE__, close);
3297 EXPECT_TRUE(close);
3298 USB_HILOGI(MODULE_USB_SERVICE, "Case End : SetInterface005 : SetInterface");
3299 }
3300
3301 /**
3302 * @tc.name: SetInterface006
3303 * @tc.desc: Test functions to SetInterface(const UsbInterface &interface);
3304 * @tc.type: FUNC
3305 */
3306 HWTEST_F(UsbDevicePipeTest, SetInterface006, TestSize.Level1)
3307 {
3308 USB_HILOGI(MODULE_USB_SERVICE, "Case Start : SetInterface006 : SetInterface");
3309 vector<UsbDevice> devi;
3310 auto &UsbSrvClient = UsbSrvClient::GetInstance();
3311 auto ret = UsbSrvClient.GetDevices(devi);
3312 EXPECT_TRUE(ret == 0);
3313 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::SetInterface006 %{public}d ret=%{public}d", __LINE__, ret);
3314 EXPECT_TRUE(!(devi.empty())) << "delist NULL";
3315 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::SetInterface006 %{public}d size=%{public}zu", __LINE__,
3316 devi.size());
3317 USBDevicePipe pipe;
3318 UsbDevice device = devi.front();
3319 UsbSrvClient.RequestRight(device.GetName());
3320 ret = UsbSrvClient.OpenDevice(device, pipe);
3321 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::SetInterface006 %{public}d OpenDevice=%{public}d", __LINE__,
3322 ret);
3323 EXPECT_TRUE(ret == 0);
3324 UsbInterface interface = device.GetConfigs().at(0).GetInterfaces().at(1);
3325 ret = UsbSrvClient.ClaimInterface(pipe, interface, true);
3326 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::SetInterface006 %{public}d ClaimInterface=%{public}d", __LINE__,
3327 ret);
3328 EXPECT_TRUE(ret == 0);
3329 pipe.SetDevAddr(BUFFER_SIZE);
3330 ret = UsbSrvClient.SetInterface(pipe, interface);
3331 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::SetInterface006 %{public}d SetInterface=%{public}d", __LINE__,
3332 ret);
3333 EXPECT_TRUE(ret != 0);
3334 pipe.SetDevAddr(device.GetDevAddr());
3335 bool close = UsbSrvClient.Close(pipe);
3336 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::SetInterface006 %{public}d close=%{public}d", __LINE__, close);
3337 EXPECT_TRUE(close);
3338 USB_HILOGI(MODULE_USB_SERVICE, "Case End : SetInterface006 : SetInterface");
3339 }
3340
3341 /**
3342 * @tc.name: GetRawDescriptors001
3343 * @tc.desc: Test functions to GetRawDescriptors
3344 * @tc.type: FUNC
3345 */
3346 HWTEST_F(UsbDevicePipeTest, GetRawDescriptors001, TestSize.Level1)
3347 {
3348 USB_HILOGI(MODULE_USB_SERVICE, "Case Start : GetRawDescriptors001 : GetRawDescriptors");
3349 vector<UsbDevice> devi;
3350 auto &UsbSrvClient = UsbSrvClient::GetInstance();
3351 auto ret = UsbSrvClient.GetDevices(devi);
3352 EXPECT_TRUE(ret == 0);
3353 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::GetRawDescriptors001 %{public}d ret=%{public}d", __LINE__, ret);
3354 EXPECT_TRUE(!(devi.empty())) << "delist NULL";
3355 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::GetRawDescriptors001 %{public}d size=%{public}zu", __LINE__,
3356 devi.size());
3357 USBDevicePipe pipe;
3358 UsbDevice device = devi.front();
3359 UsbSrvClient.RequestRight(device.GetName());
3360 ret = UsbSrvClient.OpenDevice(device, pipe);
3361 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::GetRawDescriptors001 %{public}d OpenDevice=%{public}d",
3362 __LINE__, ret);
3363 EXPECT_TRUE(ret == 0);
3364 std::vector<uint8_t> vData;
3365 ret = UsbSrvClient.GetRawDescriptors(pipe, vData);
3366 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::GetRawDescriptors001 %{public}d GetRawDescriptors=%{public}d",
3367 __LINE__, ret);
3368 EXPECT_TRUE(ret == 0);
3369 ret = UsbSrvClient.Close(pipe);
3370 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::Close=%{public}d", ret);
3371 EXPECT_TRUE(ret);
3372 USB_HILOGI(MODULE_USB_SERVICE, "Case End : GetRawDescriptors001 : ControlTransfer");
3373 }
3374
3375 /**
3376 * @tc.name: GetRawDescriptors002
3377 * @tc.desc: Test functions to GetRawDescriptors
3378 * @tc.type: FUNC
3379 */
3380 HWTEST_F(UsbDevicePipeTest, GetRawDescriptors002, TestSize.Level1)
3381 {
3382 USB_HILOGI(MODULE_USB_SERVICE, "Case Start : GetRawDescriptors002 : GetRawDescriptors");
3383 vector<UsbDevice> devi;
3384 auto &UsbSrvClient = UsbSrvClient::GetInstance();
3385 auto ret = UsbSrvClient.GetDevices(devi);
3386 EXPECT_TRUE(ret == 0);
3387 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::GetRawDescriptors002 %{public}d ret=%{public}d", __LINE__, ret);
3388 EXPECT_TRUE(!(devi.empty())) << "delist NULL";
3389 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::GetRawDescriptors002 %{public}d size=%{public}zu", __LINE__,
3390 devi.size());
3391 USBDevicePipe pipe;
3392 UsbDevice device = devi.front();
3393 UsbSrvClient.RequestRight(device.GetName());
3394 ret = UsbSrvClient.OpenDevice(device, pipe);
3395 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::GetRawDescriptors002 %{public}d OpenDevice=%{public}d",
3396 __LINE__, ret);
3397 EXPECT_TRUE(ret == 0);
3398 std::vector<uint8_t> vData;
3399 USBDevicePipe pipeTmp = pipe;
3400 pipeTmp.SetBusNum(BUFFER_SIZE);
3401 ret = UsbSrvClient.GetRawDescriptors(pipeTmp, vData);
3402 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::GetRawDescriptors002 %{public}d GetRawDescriptors=%{public}d",
3403 __LINE__, ret);
3404 EXPECT_TRUE(ret != 0);
3405 ret = UsbSrvClient.Close(pipe);
3406 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::Close=%{public}d", ret);
3407 EXPECT_TRUE(ret);
3408 USB_HILOGI(MODULE_USB_SERVICE, "Case End : GetRawDescriptors002 : ControlTransfer");
3409 }
3410
3411 /**
3412 * @tc.name: GetRawDescriptors003
3413 * @tc.desc: Test functions to GetRawDescriptors
3414 * @tc.type: FUNC
3415 */
3416 HWTEST_F(UsbDevicePipeTest, GetRawDescriptors003, TestSize.Level1)
3417 {
3418 USB_HILOGI(MODULE_USB_SERVICE, "Case Start : GetRawDescriptors003 : GetRawDescriptors");
3419 vector<UsbDevice> devi;
3420 auto &UsbSrvClient = UsbSrvClient::GetInstance();
3421 auto ret = UsbSrvClient.GetDevices(devi);
3422 EXPECT_TRUE(ret == 0);
3423 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::GetRawDescriptors003 %{public}d ret=%{public}d", __LINE__, ret);
3424 EXPECT_TRUE(!(devi.empty())) << "delist NULL";
3425 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::GetRawDescriptors003 %{public}d size=%{public}zu", __LINE__,
3426 devi.size());
3427 USBDevicePipe pipe;
3428 UsbDevice device = devi.front();
3429 UsbSrvClient.RequestRight(device.GetName());
3430 ret = UsbSrvClient.OpenDevice(device, pipe);
3431 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::GetRawDescriptors003 %{public}d OpenDevice=%{public}d",
3432 __LINE__, ret);
3433 EXPECT_TRUE(ret == 0);
3434 std::vector<uint8_t> vData;
3435 USBDevicePipe pipeTmp = pipe;
3436 pipeTmp.SetDevAddr(BUFFER_SIZE);
3437 ret = UsbSrvClient.GetRawDescriptors(pipeTmp, vData);
3438 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::GetRawDescriptors003 %{public}d GetRawDescriptors=%{public}d",
3439 __LINE__, ret);
3440 EXPECT_TRUE(ret != 0);
3441 ret = UsbSrvClient.Close(pipe);
3442 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::Close=%{public}d", ret);
3443 EXPECT_TRUE(ret);
3444 USB_HILOGI(MODULE_USB_SERVICE, "Case End : GetRawDescriptors003 : ControlTransfer");
3445 }
3446
3447 /**
3448 * @tc.name: GetFileDescriptors001
3449 * @tc.desc: Test functions to GetRawDescriptors
3450 * @tc.type: FUNC
3451 */
3452 HWTEST_F(UsbDevicePipeTest, GetFileDescriptors001, TestSize.Level1)
3453 {
3454 USB_HILOGI(MODULE_USB_SERVICE, "Case Start : GetFileDescriptors001 : GetRawDescriptors");
3455 vector<UsbDevice> devi;
3456 auto &UsbSrvClient = UsbSrvClient::GetInstance();
3457 auto ret = UsbSrvClient.GetDevices(devi);
3458 EXPECT_TRUE(ret == 0);
3459 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::GetFileDescriptors001 %{public}d ret=%{public}d", __LINE__, ret);
3460 EXPECT_TRUE(!(devi.empty())) << "delist NULL";
3461 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::GetFileDescriptors001 %{public}d size=%{public}zu", __LINE__,
3462 devi.size());
3463 USBDevicePipe pipe;
3464 UsbDevice device = devi.front();
3465 UsbSrvClient.RequestRight(device.GetName());
3466 ret = UsbSrvClient.OpenDevice(device, pipe);
3467 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::GetFileDescriptors001 %{public}d OpenDevice=%{public}d",
3468 __LINE__, ret);
3469 EXPECT_TRUE(ret == 0);
3470 std::vector<uint8_t> vData;
3471 ret = UsbSrvClient.GetRawDescriptors(pipe, vData);
3472 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::GetFileDescriptors001 %{public}d GetRawDescriptors=%{public}d",
3473 __LINE__, ret);
3474 EXPECT_TRUE(ret == 0);
3475 int32_t fd = 0;
3476 ret = UsbSrvClient.GetFileDescriptor(pipe, fd);
3477 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::GetFileDescriptors001 %{public}d GetFileDescriptor=%{public}d",
3478 __LINE__, ret);
3479 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::GetFileDescriptors001 %{public}d fd=%{public}d",
3480 __LINE__, fd);
3481 EXPECT_TRUE(ret == 0);
3482 ret = ioctl(fd, USBDEVFS_GET_SPEED, NULL);
3483 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::GetFileDescriptor001 %{public}d fd=%{public}d ret=%{public}d",
3484 __LINE__, fd, ret);
3485 EXPECT_GE(ret, 0);
3486 ret = UsbSrvClient.Close(pipe);
3487 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::Close=%{public}d", ret);
3488 EXPECT_TRUE(ret);
3489 USB_HILOGI(MODULE_USB_SERVICE, "Case End : GetFileDescriptors001 : ControlTransfer");
3490 }
3491
3492 /**
3493 * @tc.name: GetFileDescriptors002
3494 * @tc.desc: Test functions to GetRawDescriptors
3495 * @tc.type: FUNC
3496 */
3497 HWTEST_F(UsbDevicePipeTest, GetFileDescriptors002, TestSize.Level1)
3498 {
3499 USB_HILOGI(MODULE_USB_SERVICE, "Case Start : GetFileDescriptors002 : GetRawDescriptors");
3500 vector<UsbDevice> devi;
3501 auto &UsbSrvClient = UsbSrvClient::GetInstance();
3502 auto ret = UsbSrvClient.GetDevices(devi);
3503 EXPECT_TRUE(ret == 0);
3504 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::GetFileDescriptors002 %{public}d ret=%{public}d", __LINE__, ret);
3505 EXPECT_TRUE(!(devi.empty())) << "delist NULL";
3506 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::GetFileDescriptors002 %{public}d size=%{public}zu", __LINE__,
3507 devi.size());
3508 USBDevicePipe pipe;
3509 UsbDevice device = devi.front();
3510 UsbSrvClient.RequestRight(device.GetName());
3511 ret = UsbSrvClient.OpenDevice(device, pipe);
3512 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::GetFileDescriptors002 %{public}d OpenDevice=%{public}d",
3513 __LINE__, ret);
3514 EXPECT_TRUE(ret == 0);
3515 std::vector<uint8_t> vData;
3516 ret = UsbSrvClient.GetRawDescriptors(pipe, vData);
3517 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::GetFileDescriptors002 %{public}d GetRawDescriptors=%{public}d",
3518 __LINE__, ret);
3519 EXPECT_TRUE(ret == 0);
3520 USBDevicePipe pipeTmp = pipe;
3521 pipeTmp.SetBusNum(BUFFER_SIZE);
3522 int32_t fd = 0;
3523 ret = UsbSrvClient.GetFileDescriptor(pipeTmp, fd);
3524 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::GetFileDescriptors002 %{public}d GetFileDescriptor=%{public}d",
3525 __LINE__, ret);
3526 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::GetFileDescriptors001 %{public}d fd=%{public}d",
3527 __LINE__, fd);
3528 EXPECT_TRUE(ret != 0);
3529 ret = UsbSrvClient.Close(pipe);
3530 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::Close=%{public}d", ret);
3531 EXPECT_TRUE(ret);
3532 USB_HILOGI(MODULE_USB_SERVICE, "Case End : GetFileDescriptors002 : ControlTransfer");
3533 }
3534
3535 /**
3536 * @tc.name: GetFileDescriptors003
3537 * @tc.desc: Test functions to GetRawDescriptors
3538 * @tc.type: FUNC
3539 */
3540 HWTEST_F(UsbDevicePipeTest, GetFileDescriptors003, TestSize.Level1)
3541 {
3542 USB_HILOGI(MODULE_USB_SERVICE, "Case Start : GetFileDescriptors003 : GetRawDescriptors");
3543 vector<UsbDevice> devi;
3544 auto &UsbSrvClient = UsbSrvClient::GetInstance();
3545 auto ret = UsbSrvClient.GetDevices(devi);
3546 EXPECT_TRUE(ret == 0);
3547 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::GetFileDescriptors003 %{public}d ret=%{public}d", __LINE__, ret);
3548 EXPECT_TRUE(!(devi.empty())) << "delist NULL";
3549 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::GetFileDescriptors003 %{public}d size=%{public}zu", __LINE__,
3550 devi.size());
3551 USBDevicePipe pipe;
3552 UsbDevice device = devi.front();
3553 UsbSrvClient.RequestRight(device.GetName());
3554 ret = UsbSrvClient.OpenDevice(device, pipe);
3555 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::GetFileDescriptors003 %{public}d OpenDevice=%{public}d",
3556 __LINE__, ret);
3557 EXPECT_TRUE(ret == 0);
3558 std::vector<uint8_t> vData;
3559 ret = UsbSrvClient.GetRawDescriptors(pipe, vData);
3560 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::GetFileDescriptors003 %{public}d GetRawDescriptors=%{public}d",
3561 __LINE__, ret);
3562 EXPECT_TRUE(ret == 0);
3563 USBDevicePipe pipeTmp = pipe;
3564 pipeTmp.SetDevAddr(BUFFER_SIZE);
3565 int32_t fd = 0;
3566 ret = UsbSrvClient.GetFileDescriptor(pipeTmp, fd);
3567 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::GetFileDescriptors003 %{public}d GetFileDescriptor=%{public}d",
3568 __LINE__, ret);
3569 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::GetFileDescriptors001 %{public}d fd=%{public}d",
3570 __LINE__, fd);
3571 EXPECT_TRUE(ret != 0);
3572 ret = UsbSrvClient.Close(pipe);
3573 USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeTest::Close=%{public}d", ret);
3574 EXPECT_TRUE(ret);
3575 USB_HILOGI(MODULE_USB_SERVICE, "Case End : GetFileDescriptors003 : ControlTransfer");
3576 }
3577 } // DevicePipe
3578 } // USB
3579 } // OHOS
3580