1 /*
2  * Copyright (c) 2023 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_mock_test.h"
17 
18 #include <cstdio>
19 #include <cstring>
20 #include <iostream>
21 #include <sstream>
22 #include <sys/time.h>
23 #include <unistd.h>
24 #include <vector>
25 
26 #include "delayed_sp_singleton.h"
27 #include "file_ex.h"
28 #include "hilog_wrapper.h"
29 #include "iusb_srv.h"
30 #include "securec.h"
31 #include "usb_common.h"
32 #include "usb_common_test.h"
33 #include "usb_descriptor_parser.h"
34 #include "usb_errors.h"
35 #include "usb_port_manager.h"
36 #include "usb_service.h"
37 #include "usb_srv_client.h"
38 #include "usbd_bulkcallback_impl.h"
39 
40 using namespace OHOS;
41 using namespace OHOS::USB;
42 using namespace OHOS::USB::Common;
43 using namespace std;
44 using namespace testing::ext;
45 using ::testing::Eq;
46 using ::testing::Exactly;
47 using ::testing::Ge;
48 using ::testing::Le;
49 using ::testing::Ne;
50 using ::testing::Return;
51 
52 namespace OHOS {
53 namespace USB {
54 constexpr int32_t BUFFER_SIZE = 255;
55 constexpr int32_t CTL_VALUE = 0x100;
56 constexpr int32_t TRANSFER_TIME_OUT = 500;
57 constexpr int32_t TRANSFER_TIME = -5;
58 constexpr int32_t TRANSFER_LEN_LONG = 16;
59 constexpr int32_t TRANSFER_LEN_SHORT = 8;
60 constexpr int32_t USB_REQUEST_TARGET_INTERFACE = 1;
61 constexpr int32_t USB_REQUEST_TARGET_ENDPOINT = 2;
62 constexpr uint8_t USB_SERVICE_CDC_REQ_SET_LINE_CODING = 0x20;
63 constexpr uint8_t USB_SERVICE_CDC_REQ_SET_CONTROL_LINE_STATE = 0x22;
64 constexpr uint8_t USB_SERVICE_REQ_GET_CONFIGURATION = 0x08;
65 constexpr uint8_t USB_SERVICE_REQ_GET_DESCRIPTOR = 0x06;
66 constexpr uint8_t USB_SERVICE_REQ_GET_INTERFACE = 0x0A;
67 constexpr uint8_t USB_SERVICE_REQ_SYNCH_FRAME = 0x0C;
68 constexpr uint8_t USB_SERVICE_REQ_GET_STATUS = 0x00;
69 constexpr uint8_t USB_SERVICE_TYPE_CLASS = 0x20;
70 
71 sptr<MockUsbImpl> UsbDevicePipeMockTest::mockUsbImpl_ = nullptr;
72 sptr<UsbService> UsbDevicePipeMockTest::usbSrv_ = nullptr;
73 UsbDev UsbDevicePipeMockTest::dev_ = {BUS_NUM_OK, DEV_ADDR_OK};
74 UsbDevice UsbDevicePipeMockTest::device_ {};
75 
SetUpTestCase(void)76 void UsbDevicePipeMockTest::SetUpTestCase(void)
77 {
78     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeMockTest SetUpTestCase");
79     UsbCommonTest::SetTestCaseHapApply();
80 
81     usbSrv_ = DelayedSpSingleton<UsbService>::GetInstance();
82     EXPECT_NE(usbSrv_, nullptr);
83     mockUsbImpl_ = DelayedSpSingleton<MockUsbImpl>::GetInstance();
84     EXPECT_NE(mockUsbImpl_, nullptr);
85 
86     usbSrv_->SetUsbd(mockUsbImpl_);
87 
88     sptr<UsbServiceSubscriber> iSubscriber = new UsbServiceSubscriber();
89     EXPECT_NE(iSubscriber, nullptr);
90     mockUsbImpl_->BindUsbdSubscriber(iSubscriber);
91 
92     EXPECT_CALL(*mockUsbImpl_, OpenDevice(testing::_)).WillRepeatedly(Return(0));
93     EXPECT_CALL(*mockUsbImpl_, CloseDevice(testing::_)).WillRepeatedly(Return(0));
94     USBDeviceInfo info = {ACT_DEVUP, BUS_NUM_OK, DEV_ADDR_OK};
95     auto ret = mockUsbImpl_->SubscriberDeviceEvent(info);
96     EXPECT_EQ(0, ret);
97 
98     ret = mockUsbImpl_->SetPortRole(DEFAULT_PORT_ID, UsbSrvSupport::POWER_ROLE_SOURCE, UsbSrvSupport::DATA_ROLE_HOST);
99     EXPECT_EQ(0, ret);
100     if (ret != 0) {
101         exit(0);
102     }
103 
104     vector<UsbDevice> devList;
105     ret = usbSrv_->GetDevices(devList);
106     EXPECT_EQ(0, ret);
107     EXPECT_FALSE(devList.empty()) << "devList NULL";
108     device_ = MockUsbImpl::FindDeviceInfo(devList);
109 
110     EXPECT_CALL(*mockUsbImpl_, OpenDevice(testing::_)).WillRepeatedly(Return(0));
111     ret = usbSrv_->OpenDevice(dev_.busNum, dev_.devAddr);
112     EXPECT_EQ(0, ret);
113 }
114 
TearDownTestCase(void)115 void UsbDevicePipeMockTest::TearDownTestCase(void)
116 {
117     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeMockTest TearDownTestCase");
118     EXPECT_CALL(*mockUsbImpl_, CloseDevice(testing::_)).WillRepeatedly(Return(0));
119     auto ret = usbSrv_->Close(dev_.busNum, dev_.devAddr);
120     EXPECT_EQ(0, ret);
121 
122     USBDeviceInfo info = {ACT_DEVDOWN, BUS_NUM_OK, DEV_ADDR_OK};
123     ret = mockUsbImpl_->SubscriberDeviceEvent(info);
124     EXPECT_EQ(0, ret);
125 
126     mockUsbImpl_->UnbindUsbdSubscriber(nullptr);
127     sptr<IUsbInterface> usbd = IUsbInterface::Get();
128     usbSrv_->SetUsbd(usbd);
129 
130     mockUsbImpl_ = nullptr;
131     usbSrv_ = nullptr;
132     DelayedSpSingleton<UsbService>::DestroyInstance();
133     DelayedSpSingleton<MockUsbImpl>::DestroyInstance();
134 }
135 
SetUp(void)136 void UsbDevicePipeMockTest::SetUp(void) {}
137 
TearDown(void)138 void UsbDevicePipeMockTest::TearDown(void) {}
139 /**
140  * @tc.name: getDevices001
141  * @tc.desc: Test functions to getDevices(std::vector<UsbDevice> &deviceList);
142  * @tc.desc: Positive test: parameters correctly
143  * @tc.type: FUNC
144  */
145 HWTEST_F(UsbDevicePipeMockTest, getDevices001, TestSize.Level1)
146 {
147     vector<UsbDevice> devList;
148     auto ret = usbSrv_->GetDevices(devList);
149     EXPECT_EQ(0, ret);
150     EXPECT_FALSE(devList.empty()) << "devList NULL";
151     UsbDevice device = MockUsbImpl::FindDeviceInfo(devList);
152 }
153 /**
154  * @tc.name: UsbOpenDevice001
155  * @tc.desc: Test functions of OpenDevice
156  * @tc.desc: Positive:code run normal,return 0
157  * @tc.type: FUNC
158  */
159 HWTEST_F(UsbDevicePipeMockTest, UsbOpenDevice001, TestSize.Level1)
160 {
161     EXPECT_CALL(*mockUsbImpl_, CloseDevice(testing::_)).WillRepeatedly(Return(0));
162     auto ret = usbSrv_->Close(dev_.busNum, dev_.devAddr);
163     EXPECT_EQ(0, ret);
164 
165     EXPECT_CALL(*mockUsbImpl_, OpenDevice(testing::_)).WillRepeatedly(Return(0));
166     ret = usbSrv_->OpenDevice(dev_.busNum, dev_.devAddr);
167     EXPECT_EQ(0, ret);
168 }
169 
170 /**
171  * @tc.name: UsbControlTransferRead001
172  * @tc.desc: Test functions to ControlTransfer
173  * @tc.desc: Positive test: parameters correctly
174  * @tc.type: FUNC
175  */
176 HWTEST_F(UsbDevicePipeMockTest, UsbControlTransferRead001, TestSize.Level1)
177 {
178     struct UsbCtrlTransfer ctrlData = {USB_ENDPOINT_DIR_IN, USB_SERVICE_REQ_GET_CONFIGURATION, 0, 0, TRANSFER_TIME_OUT};
179     std::vector<uint8_t> ctrlBuffer(TRANSFER_LEN_SHORT);
180     EXPECT_CALL(*mockUsbImpl_, ControlTransferRead(testing::_, testing::_, testing::_)).WillRepeatedly(Return(0));
181     auto ret = usbSrv_->ControlTransfer(dev_, ctrlData, ctrlBuffer);
182     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeMockTest::UsbControlTransferRead001 ControlTransfer=%{public}d", ret);
183     EXPECT_EQ(0, ret);
184 }
185 
186 /**
187  * @tc.name: UsbControlTransferRead002
188  * @tc.desc: Test functions to ControlTransfer
189  * @tc.desc: Negative test: parameters exception, busNum error
190  * @tc.type: FUNC
191  */
192 HWTEST_F(UsbDevicePipeMockTest, UsbControlTransferRead002, TestSize.Level1)
193 {
194     dev_.busNum = BUS_NUM_INVALID;
195     struct UsbCtrlTransfer ctrlData = {USB_ENDPOINT_DIR_IN, USB_SERVICE_REQ_GET_CONFIGURATION, 0, 0, TRANSFER_TIME_OUT};
196     std::vector<uint8_t> ctrlBuffer(TRANSFER_LEN_SHORT);
197     EXPECT_CALL(*mockUsbImpl_, ControlTransferRead(testing::_, testing::_, testing::_))
198         .WillRepeatedly(Return(RETVAL_INVALID));
199     auto ret = usbSrv_->ControlTransfer(dev_, ctrlData, ctrlBuffer);
200     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeMockTest::UsbControlTransferRead002 ControlTransfer=%{public}d", ret);
201     EXPECT_NE(ret, 0);
202 
203     dev_.busNum = BUS_NUM_OK;
204 }
205 
206 /**
207  * @tc.name: UsbControlTransferRead003
208  * @tc.desc: Test functions to ControlTransfer
209  * @tc.desc: Negative test: parameters exception, devAddr error
210  * @tc.type: FUNC
211  */
212 HWTEST_F(UsbDevicePipeMockTest, UsbControlTransferRead003, TestSize.Level1)
213 {
214     dev_.devAddr = DEV_ADDR_INVALID;
215     struct UsbCtrlTransfer ctrlData = {USB_ENDPOINT_DIR_IN, USB_SERVICE_REQ_GET_CONFIGURATION, 0, 0, TRANSFER_TIME_OUT};
216     std::vector<uint8_t> ctrlBuffer(TRANSFER_LEN_SHORT);
217     EXPECT_CALL(*mockUsbImpl_, ControlTransferRead(testing::_, testing::_, testing::_))
218         .WillRepeatedly(Return(RETVAL_INVALID));
219     auto ret = usbSrv_->ControlTransfer(dev_, ctrlData, ctrlBuffer);
220     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeMockTest::UsbControlTransferRead003 ControlTransfer=%{public}d", ret);
221     EXPECT_NE(ret, 0);
222 
223     dev_.devAddr = DEV_ADDR_OK;
224 }
225 
226 /**
227  * @tc.name: UsbControlTransferRead004
228  * @tc.desc: Test functions to ControlTransfer
229  * @tc.desc: Positive test: parameters correctly
230  * @tc.type: FUNC
231  */
232 HWTEST_F(UsbDevicePipeMockTest, UsbControlTransferRead004, TestSize.Level1)
233 {
234     struct UsbCtrlTransfer ctrlData = {
235         USB_ENDPOINT_DIR_IN, USB_SERVICE_REQ_GET_DESCRIPTOR, CTL_VALUE, 0, TRANSFER_TIME_OUT};
236     std::vector<uint8_t> ctrlBuffer(TRANSFER_LEN_SHORT);
237     EXPECT_CALL(*mockUsbImpl_, ControlTransferRead(testing::_, testing::_, testing::_)).WillRepeatedly(Return(0));
238     auto ret = usbSrv_->ControlTransfer(dev_, ctrlData, ctrlBuffer);
239     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeMockTest::UsbControlTransferRead004 ControlTransfer=%{public}d", ret);
240     EXPECT_EQ(0, ret);
241 }
242 
243 /**
244  * @tc.name: UsbControlTransferRead005
245  * @tc.desc: Test functions to ControlTransfer
246  * @tc.desc: Negative test: parameters exception, busNum error
247  * @tc.type: FUNC
248  */
249 HWTEST_F(UsbDevicePipeMockTest, UsbControlTransferRead005, TestSize.Level1)
250 {
251     dev_.busNum = BUS_NUM_INVALID;
252     struct UsbCtrlTransfer ctrlData = {
253         USB_ENDPOINT_DIR_IN, USB_SERVICE_REQ_GET_DESCRIPTOR, CTL_VALUE, 0, TRANSFER_TIME_OUT};
254     std::vector<uint8_t> ctrlBuffer(TRANSFER_LEN_SHORT);
255     EXPECT_CALL(*mockUsbImpl_, ControlTransferRead(testing::_, testing::_, testing::_))
256         .WillRepeatedly(Return(RETVAL_INVALID));
257     auto ret = usbSrv_->ControlTransfer(dev_, ctrlData, ctrlBuffer);
258     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeMockTest::UsbControlTransferRead005 ControlTransfer=%{public}d", ret);
259     EXPECT_NE(ret, 0);
260 
261     dev_.busNum = BUS_NUM_OK;
262 }
263 
264 /**
265  * @tc.name: UsbControlTransferRead006
266  * @tc.desc: Test functions to ControlTransfer
267  * @tc.desc: Negative test: parameters exception, devAddr error
268  * @tc.type: FUNC
269  */
270 HWTEST_F(UsbDevicePipeMockTest, UsbControlTransferRead006, TestSize.Level1)
271 {
272     dev_.devAddr = DEV_ADDR_INVALID;
273     struct UsbCtrlTransfer ctrlData = {
274         USB_ENDPOINT_DIR_IN, USB_SERVICE_REQ_GET_DESCRIPTOR, CTL_VALUE, 0, TRANSFER_TIME_OUT};
275     std::vector<uint8_t> ctrlBuffer(TRANSFER_LEN_SHORT);
276     EXPECT_CALL(*mockUsbImpl_, ControlTransferRead(testing::_, testing::_, testing::_))
277         .WillRepeatedly(Return(RETVAL_INVALID));
278     auto ret = usbSrv_->ControlTransfer(dev_, ctrlData, ctrlBuffer);
279     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeMockTest::UsbControlTransferRead006 ControlTransfer=%{public}d", ret);
280     EXPECT_NE(ret, 0);
281 
282     dev_.devAddr = DEV_ADDR_OK;
283 }
284 
285 /**
286  * @tc.name: UsbControlTransferRead007
287  * @tc.desc: Test functions to ControlTransfer
288  * @tc.desc: Positive test: parameters correctly
289  * @tc.type: FUNC
290  */
291 HWTEST_F(UsbDevicePipeMockTest, UsbControlTransferRead007, TestSize.Level1)
292 {
293     struct UsbCtrlTransfer ctrlData = {
294         USB_ENDPOINT_DIR_IN | USB_REQUEST_TARGET_INTERFACE, USB_SERVICE_REQ_GET_INTERFACE, 0, 0, TRANSFER_TIME_OUT};
295     std::vector<uint8_t> ctrlBuffer(BUFFER_SIZE);
296     EXPECT_CALL(*mockUsbImpl_, ControlTransferRead(testing::_, testing::_, testing::_)).WillRepeatedly(Return(0));
297     auto ret = usbSrv_->ControlTransfer(dev_, ctrlData, ctrlBuffer);
298     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeMockTest::UsbControlTransferRead007 ControlTransfer=%{public}d", ret);
299     EXPECT_EQ(0, ret);
300 }
301 
302 /**
303  * @tc.name: UsbControlTransferRead008
304  * @tc.desc: Test functions to ControlTransfer
305  * @tc.desc: Negative test: parameters exception, busNum error
306  * @tc.type: FUNC
307  */
308 HWTEST_F(UsbDevicePipeMockTest, UsbControlTransferRead008, TestSize.Level1)
309 {
310     dev_.busNum = BUS_NUM_INVALID;
311     struct UsbCtrlTransfer ctrlData = {
312         USB_ENDPOINT_DIR_IN | USB_REQUEST_TARGET_INTERFACE, USB_SERVICE_REQ_GET_INTERFACE, 0, 0, TRANSFER_TIME_OUT};
313     std::vector<uint8_t> ctrlBuffer(BUFFER_SIZE);
314     EXPECT_CALL(*mockUsbImpl_, ControlTransferRead(testing::_, testing::_, testing::_))
315         .WillRepeatedly(Return(RETVAL_INVALID));
316     auto ret = usbSrv_->ControlTransfer(dev_, ctrlData, ctrlBuffer);
317     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeMockTest::UsbControlTransferRead008 ControlTransfer=%{public}d", ret);
318     EXPECT_NE(ret, 0);
319 
320     dev_.busNum = BUS_NUM_OK;
321 }
322 
323 /**
324  * @tc.name: UsbControlTransferRead009
325  * @tc.desc: Test functions to ControlTransfer
326  * @tc.desc: Negative test: parameters exception, devAddr error
327  * @tc.type: FUNC
328  */
329 HWTEST_F(UsbDevicePipeMockTest, UsbControlTransferRead009, TestSize.Level1)
330 {
331     dev_.devAddr = DEV_ADDR_INVALID;
332     struct UsbCtrlTransfer ctrlData = {
333         USB_ENDPOINT_DIR_IN | USB_REQUEST_TARGET_INTERFACE, USB_SERVICE_REQ_GET_INTERFACE, 0, 0, TRANSFER_TIME_OUT};
334     std::vector<uint8_t> ctrlBuffer(BUFFER_SIZE);
335     EXPECT_CALL(*mockUsbImpl_, ControlTransferRead(testing::_, testing::_, testing::_))
336         .WillRepeatedly(Return(RETVAL_INVALID));
337     auto ret = usbSrv_->ControlTransfer(dev_, ctrlData, ctrlBuffer);
338     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeMockTest::UsbControlTransferRead009 ControlTransfer=%{public}d", ret);
339     EXPECT_NE(ret, 0);
340 
341     dev_.devAddr = DEV_ADDR_OK;
342 }
343 
344 /**
345  * @tc.name: UsbControlTransferRead010
346  * @tc.desc: Test functions to ControlTransfer
347  * @tc.desc: Positive test: parameters correctly
348  * @tc.type: FUNC
349  */
350 HWTEST_F(UsbDevicePipeMockTest, UsbControlTransferRead010, TestSize.Level1)
351 {
352     struct UsbCtrlTransfer ctrlData = {USB_ENDPOINT_DIR_IN, USB_SERVICE_REQ_GET_STATUS, 0, 0, TRANSFER_TIME_OUT};
353     std::vector<uint8_t> ctrlBuffer(BUFFER_SIZE);
354     EXPECT_CALL(*mockUsbImpl_, ControlTransferRead(testing::_, testing::_, testing::_)).WillRepeatedly(Return(0));
355     auto ret = usbSrv_->ControlTransfer(dev_, ctrlData, ctrlBuffer);
356     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeMockTest::UsbControlTransferRead010 ControlTransfer=%{public}d", ret);
357     EXPECT_EQ(0, ret);
358 }
359 
360 /**
361  * @tc.name: UsbControlTransferRead011
362  * @tc.desc: Test functions to ControlTransfer
363  * @tc.desc: Negative test: parameters exception, busNum error
364  * @tc.type: FUNC
365  */
366 HWTEST_F(UsbDevicePipeMockTest, UsbControlTransferRead011, TestSize.Level1)
367 {
368     dev_.busNum = BUS_NUM_INVALID;
369     struct UsbCtrlTransfer ctrlData = {USB_ENDPOINT_DIR_IN, USB_SERVICE_REQ_GET_STATUS, 0, 0, TRANSFER_TIME_OUT};
370     std::vector<uint8_t> ctrlBuffer(BUFFER_SIZE);
371     EXPECT_CALL(*mockUsbImpl_, ControlTransferRead(testing::_, testing::_, testing::_))
372         .WillRepeatedly(Return(RETVAL_INVALID));
373     auto ret = usbSrv_->ControlTransfer(dev_, ctrlData, ctrlBuffer);
374     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeMockTest::UsbControlTransferRead011 ControlTransfer=%{public}d", ret);
375     EXPECT_NE(ret, 0);
376 
377     dev_.busNum = BUS_NUM_OK;
378 }
379 
380 /**
381  * @tc.name: UsbControlTransferRead012
382  * @tc.desc: Test functions to ControlTransfer
383  * @tc.desc: Negative test: parameters exception, devAddr error
384  * @tc.type: FUNC
385  */
386 HWTEST_F(UsbDevicePipeMockTest, UsbControlTransferRead012, TestSize.Level1)
387 {
388     dev_.devAddr = DEV_ADDR_INVALID;
389     struct UsbCtrlTransfer ctrlData = {USB_ENDPOINT_DIR_IN, USB_SERVICE_REQ_GET_STATUS, 0, 0, TRANSFER_TIME_OUT};
390     std::vector<uint8_t> ctrlBuffer(BUFFER_SIZE);
391     EXPECT_CALL(*mockUsbImpl_, ControlTransferRead(testing::_, testing::_, testing::_))
392         .WillRepeatedly(Return(RETVAL_INVALID));
393     auto ret = usbSrv_->ControlTransfer(dev_, ctrlData, ctrlBuffer);
394     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeMockTest::UsbControlTransferRead012 ControlTransfer=%{public}d", ret);
395     EXPECT_NE(ret, 0);
396 
397     dev_.devAddr = DEV_ADDR_OK;
398 }
399 
400 /**
401  * @tc.name: UsbControlTransferRead0013
402  * @tc.desc: Test functions to ControlTransfer
403  * @tc.desc: Positive test: parameters correctly
404  * @tc.type: FUNC
405  */
406 HWTEST_F(UsbDevicePipeMockTest, UsbControlTransferRead0013, TestSize.Level1)
407 {
408     struct UsbCtrlTransfer ctrlData = {
409         USB_ENDPOINT_DIR_IN | USB_REQUEST_TARGET_INTERFACE, USB_SERVICE_REQ_GET_STATUS, 0, 0, TRANSFER_TIME_OUT};
410     std::vector<uint8_t> ctrlBuffer(BUFFER_SIZE);
411     EXPECT_CALL(*mockUsbImpl_, ControlTransferRead(testing::_, testing::_, testing::_)).WillRepeatedly(Return(0));
412     auto ret = usbSrv_->ControlTransfer(dev_, ctrlData, ctrlBuffer);
413     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeMockTest::UsbControlTransferRead0013 ControlTransfer=%{public}d", ret);
414     EXPECT_EQ(0, ret);
415 }
416 
417 /**
418  * @tc.name: UsbControlTransferRead0014
419  * @tc.desc: Test functions to ControlTransfer
420  * @tc.desc: Negative test: parameters exception, busNum error
421  * @tc.type: FUNC
422  */
423 HWTEST_F(UsbDevicePipeMockTest, UsbControlTransferRead0014, TestSize.Level1)
424 {
425     dev_.busNum = BUS_NUM_INVALID;
426     struct UsbCtrlTransfer ctrlData = {
427         USB_ENDPOINT_DIR_IN | USB_REQUEST_TARGET_INTERFACE, USB_SERVICE_REQ_GET_STATUS, 0, 0, TRANSFER_TIME_OUT};
428     std::vector<uint8_t> ctrlBuffer(BUFFER_SIZE);
429     EXPECT_CALL(*mockUsbImpl_, ControlTransferRead(testing::_, testing::_, testing::_))
430         .WillRepeatedly(Return(RETVAL_INVALID));
431     auto ret = usbSrv_->ControlTransfer(dev_, ctrlData, ctrlBuffer);
432     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeMockTest::UsbControlTransferRead0014 ControlTransfer=%{public}d", ret);
433     EXPECT_NE(ret, 0);
434 
435     dev_.busNum = BUS_NUM_OK;
436 }
437 
438 /**
439  * @tc.name: UsbControlTransferRead0015
440  * @tc.desc: Test functions to ControlTransfer
441  * @tc.desc: Negative test: parameters exception, devAddr error
442  * @tc.type: FUNC
443  */
444 HWTEST_F(UsbDevicePipeMockTest, UsbControlTransferRead0015, TestSize.Level1)
445 {
446     dev_.devAddr = DEV_ADDR_INVALID;
447     struct UsbCtrlTransfer ctrlData = {
448         USB_ENDPOINT_DIR_IN | USB_REQUEST_TARGET_INTERFACE, USB_SERVICE_REQ_GET_STATUS, 0, 0, TRANSFER_TIME_OUT};
449     std::vector<uint8_t> ctrlBuffer(BUFFER_SIZE);
450     EXPECT_CALL(*mockUsbImpl_, ControlTransferRead(testing::_, testing::_, testing::_))
451         .WillRepeatedly(Return(RETVAL_INVALID));
452     auto ret = usbSrv_->ControlTransfer(dev_, ctrlData, ctrlBuffer);
453     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeMockTest::UsbControlTransferRead0015 ControlTransfer=%{public}d", ret);
454     EXPECT_NE(ret, 0);
455 
456     dev_.devAddr = DEV_ADDR_OK;
457 }
458 
459 /**
460  * @tc.name: UsbControlTransferRead016
461  * @tc.desc: Test functions to ControlTransfer
462  * @tc.desc: Positive test: parameters correctly
463  * @tc.type: FUNC
464  */
465 HWTEST_F(UsbDevicePipeMockTest, UsbControlTransferRead016, TestSize.Level1)
466 {
467     struct UsbCtrlTransfer ctrlData = {
468         USB_ENDPOINT_DIR_IN | USB_REQUEST_TARGET_ENDPOINT, USB_SERVICE_REQ_GET_STATUS, 0, 0, TRANSFER_TIME_OUT};
469     std::vector<uint8_t> ctrlBuffer(TRANSFER_LEN_LONG);
470     EXPECT_CALL(*mockUsbImpl_, ControlTransferRead(testing::_, testing::_, testing::_)).WillRepeatedly(Return(0));
471     auto ret = usbSrv_->ControlTransfer(dev_, ctrlData, ctrlBuffer);
472     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeMockTest::UsbControlTransferRead016 ControlTransfer=%{public}d", ret);
473     EXPECT_EQ(0, ret);
474 }
475 
476 /**
477  * @tc.name: UsbControlTransferRead017
478  * @tc.desc: Test functions to ControlTransfer
479  * @tc.desc: Negative test: parameters exception, busNum error
480  * @tc.type: FUNC
481  */
482 HWTEST_F(UsbDevicePipeMockTest, UsbControlTransferRead017, TestSize.Level1)
483 {
484     dev_.busNum = BUS_NUM_INVALID;
485     struct UsbCtrlTransfer ctrlData = {
486         USB_ENDPOINT_DIR_IN | USB_REQUEST_TARGET_ENDPOINT, USB_SERVICE_REQ_GET_STATUS, 0, 0, TRANSFER_TIME_OUT};
487     std::vector<uint8_t> ctrlBuffer(TRANSFER_LEN_LONG);
488     EXPECT_CALL(*mockUsbImpl_, ControlTransferRead(testing::_, testing::_, testing::_))
489         .WillRepeatedly(Return(RETVAL_INVALID));
490     auto ret = usbSrv_->ControlTransfer(dev_, ctrlData, ctrlBuffer);
491     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeMockTest::UsbControlTransferRead017 ControlTransfer=%{public}d", ret);
492     EXPECT_NE(ret, 0);
493 
494     dev_.busNum = BUS_NUM_OK;
495 }
496 
497 /**
498  * @tc.name: UsbControlTransferRead018
499  * @tc.desc: Test functions to ControlTransfer
500  * @tc.desc: Negative test: parameters exception, devAddr error
501  * @tc.type: FUNC
502  */
503 HWTEST_F(UsbDevicePipeMockTest, UsbControlTransferRead018, TestSize.Level1)
504 {
505     dev_.devAddr = DEV_ADDR_INVALID;
506     struct UsbCtrlTransfer ctrlData = {
507         USB_ENDPOINT_DIR_IN | USB_REQUEST_TARGET_ENDPOINT, USB_SERVICE_REQ_GET_STATUS, 0, 0, TRANSFER_TIME_OUT};
508     std::vector<uint8_t> ctrlBuffer(TRANSFER_LEN_LONG);
509     EXPECT_CALL(*mockUsbImpl_, ControlTransferRead(testing::_, testing::_, testing::_))
510         .WillRepeatedly(Return(RETVAL_INVALID));
511     auto ret = usbSrv_->ControlTransfer(dev_, ctrlData, ctrlBuffer);
512     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeMockTest::UsbControlTransferRead018 ControlTransfer=%{public}d", ret);
513     EXPECT_NE(ret, 0);
514 
515     dev_.devAddr = DEV_ADDR_OK;
516 }
517 
518 /**
519  * @tc.name: UsbControlTransferRead019
520  * @tc.desc: Test functions to ControlTransfer
521  * @tc.desc: Positive test: parameters correctly
522  * @tc.type: FUNC
523  */
524 HWTEST_F(UsbDevicePipeMockTest, UsbControlTransferRead019, TestSize.Level1)
525 {
526     struct UsbCtrlTransfer ctrlData = {
527         USB_ENDPOINT_DIR_IN | USB_REQUEST_TARGET_ENDPOINT, USB_SERVICE_REQ_SYNCH_FRAME, 0, 0, TRANSFER_TIME_OUT};
528     std::vector<uint8_t> ctrlBuffer(BUFFER_SIZE);
529     EXPECT_CALL(*mockUsbImpl_, ControlTransferRead(testing::_, testing::_, testing::_)).WillRepeatedly(Return(0));
530     auto ret = usbSrv_->ControlTransfer(dev_, ctrlData, ctrlBuffer);
531     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeMockTest::UsbControlTransferRead019 ControlTransfer=%{public}d", ret);
532     EXPECT_EQ(0, ret);
533 }
534 
535 /**
536  * @tc.name: UsbControlTransferRead020
537  * @tc.desc: Test functions to ControlTransfer
538  * @tc.desc: Negative test: parameters exception, busNum error
539  * @tc.type: FUNC
540  */
541 HWTEST_F(UsbDevicePipeMockTest, UsbControlTransferRead020, TestSize.Level1)
542 {
543     dev_.busNum = BUS_NUM_INVALID;
544     struct UsbCtrlTransfer ctrlData = {
545         USB_ENDPOINT_DIR_IN | USB_REQUEST_TARGET_ENDPOINT, USB_SERVICE_REQ_SYNCH_FRAME, 0, 0, TRANSFER_TIME_OUT};
546     std::vector<uint8_t> ctrlBuffer(BUFFER_SIZE);
547     EXPECT_CALL(*mockUsbImpl_, ControlTransferRead(testing::_, testing::_, testing::_))
548         .WillRepeatedly(Return(RETVAL_INVALID));
549     auto ret = usbSrv_->ControlTransfer(dev_, ctrlData, ctrlBuffer);
550     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeMockTest::UsbControlTransferRead020 ControlTransfer=%{public}d", ret);
551     EXPECT_NE(ret, 0);
552 
553     dev_.busNum = BUS_NUM_OK;
554 }
555 
556 /**
557  * @tc.name: UsbControlTransferRead021
558  * @tc.desc: Test functions to ControlTransfer
559  * @tc.desc: Negative test: parameters exception, devAddr error
560  * @tc.type: FUNC
561  */
562 HWTEST_F(UsbDevicePipeMockTest, UsbControlTransferRead021, TestSize.Level1)
563 {
564     dev_.devAddr = DEV_ADDR_INVALID;
565     struct UsbCtrlTransfer ctrlData = {
566         USB_ENDPOINT_DIR_IN | USB_REQUEST_TARGET_ENDPOINT, USB_SERVICE_REQ_SYNCH_FRAME, 0, 0, TRANSFER_TIME_OUT};
567     std::vector<uint8_t> ctrlBuffer(BUFFER_SIZE);
568     EXPECT_CALL(*mockUsbImpl_, ControlTransferRead(testing::_, testing::_, testing::_))
569         .WillRepeatedly(Return(RETVAL_INVALID));
570     auto ret = usbSrv_->ControlTransfer(dev_, ctrlData, ctrlBuffer);
571     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeMockTest::UsbControlTransferRead021 ControlTransfer=%{public}d", ret);
572     EXPECT_NE(ret, 0);
573 
574     dev_.devAddr = DEV_ADDR_OK;
575 }
576 
577 /**
578  * @tc.name: UsbControlTransferWrite001
579  * @tc.desc: Test functions to ControlTransfer
580  * @tc.desc: Positive test: parameters correctly
581  * @tc.type: FUNC
582  */
583 HWTEST_F(UsbDevicePipeMockTest, UsbControlTransferWrite001, TestSize.Level1)
584 {
585     struct UsbCtrlTransfer ctrlData = {USB_ENDPOINT_DIR_OUT | USB_SERVICE_TYPE_CLASS | USB_REQUEST_TARGET_INTERFACE,
586         USB_SERVICE_CDC_REQ_SET_LINE_CODING, 0, 0, TRANSFER_TIME_OUT};
587     std::vector<uint8_t> ctrlBuffer(BUFFER_SIZE);
588     EXPECT_CALL(*mockUsbImpl_, ControlTransferWrite(testing::_, testing::_, testing::_)).WillRepeatedly(Return(0));
589     auto ret = usbSrv_->ControlTransfer(dev_, ctrlData, ctrlBuffer);
590     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeMockTest::UsbControlTransferWrite001 ControlTransfer=%{public}d", ret);
591     EXPECT_EQ(0, ret);
592 }
593 
594 /**
595  * @tc.name: UsbControlTransferWrite002
596  * @tc.desc: Test functions to ControlTransfer
597  * @tc.desc: Negative test: parameters exception, busNum error
598  * @tc.type: FUNC
599  */
600 HWTEST_F(UsbDevicePipeMockTest, UsbControlTransferWrite002, TestSize.Level1)
601 {
602     struct UsbCtrlTransfer ctrlData = {USB_ENDPOINT_DIR_OUT | USB_SERVICE_TYPE_CLASS | USB_REQUEST_TARGET_INTERFACE,
603         USB_SERVICE_CDC_REQ_SET_LINE_CODING, 0, 0, TRANSFER_TIME_OUT};
604     std::vector<uint8_t> ctrlBuffer(BUFFER_SIZE);
605     dev_.busNum = BUS_NUM_INVALID;
606     EXPECT_CALL(*mockUsbImpl_, ControlTransferWrite(testing::_, testing::_, testing::_))
607         .WillRepeatedly(Return(RETVAL_INVALID));
608     auto ret = usbSrv_->ControlTransfer(dev_, ctrlData, ctrlBuffer);
609     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeMockTest::UsbControlTransferWrite002 ControlTransfer=%{public}d", ret);
610     EXPECT_NE(ret, 0);
611 
612     dev_.busNum = BUS_NUM_OK;
613 }
614 
615 /**
616  * @tc.name: UsbControlTransferWrite003
617  * @tc.desc: Test functions to ControlTransfer
618  * @tc.desc: Negative test: parameters exception, devAddr error
619  * @tc.type: FUNC
620  */
621 HWTEST_F(UsbDevicePipeMockTest, UsbControlTransferWrite003, TestSize.Level1)
622 {
623     struct UsbCtrlTransfer ctrlData = {USB_ENDPOINT_DIR_OUT | USB_SERVICE_TYPE_CLASS | USB_REQUEST_TARGET_INTERFACE,
624         USB_SERVICE_CDC_REQ_SET_LINE_CODING, 0, 0, TRANSFER_TIME_OUT};
625     std::vector<uint8_t> ctrlBuffer(BUFFER_SIZE);
626     EXPECT_CALL(*mockUsbImpl_, ControlTransferWrite(testing::_, testing::_, testing::_))
627         .WillRepeatedly(Return(RETVAL_INVALID));
628     dev_.devAddr = DEV_ADDR_INVALID;
629     auto ret = usbSrv_->ControlTransfer(dev_, ctrlData, ctrlBuffer);
630     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeMockTest::UsbControlTransferWrite003 ControlTransfer=%{public}d", ret);
631     EXPECT_NE(ret, 0);
632 
633     dev_.devAddr = DEV_ADDR_OK;
634 }
635 
636 /**
637  * @tc.name: UsbControlTransferWrite004
638  * @tc.desc: Test functions to ControlTransfer
639  * @tc.desc: Positive test: parameters correctly
640  * @tc.type: FUNC
641  */
642 HWTEST_F(UsbDevicePipeMockTest, UsbControlTransferWrite004, TestSize.Level1)
643 {
644     struct UsbCtrlTransfer ctrlData = {USB_ENDPOINT_DIR_OUT | USB_SERVICE_TYPE_CLASS | USB_REQUEST_TARGET_INTERFACE,
645         USB_SERVICE_CDC_REQ_SET_CONTROL_LINE_STATE, 0, 0, TRANSFER_TIME_OUT};
646     std::vector<uint8_t> ctrlBuffer(BUFFER_SIZE);
647     EXPECT_CALL(*mockUsbImpl_, ControlTransferWrite(testing::_, testing::_, testing::_)).WillRepeatedly(Return(0));
648     auto ret = usbSrv_->ControlTransfer(dev_, ctrlData, ctrlBuffer);
649     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeMockTest::UsbControlTransferWrite002 ControlTransfer=%{public}d", ret);
650     EXPECT_EQ(0, ret);
651 }
652 
653 /**
654  * @tc.name: UsbControlTransferWrite005
655  * @tc.desc: Test functions to ControlTransfer
656  * @tc.desc: Negative test: parameters exception, busNum error
657  * @tc.type: FUNC
658  */
659 HWTEST_F(UsbDevicePipeMockTest, UsbControlTransferWrite005, TestSize.Level1)
660 {
661     struct UsbCtrlTransfer ctrlData = {USB_ENDPOINT_DIR_OUT | USB_SERVICE_TYPE_CLASS | USB_REQUEST_TARGET_INTERFACE,
662         USB_SERVICE_CDC_REQ_SET_CONTROL_LINE_STATE, 0, 0, TRANSFER_TIME_OUT};
663     std::vector<uint8_t> ctrlBuffer(BUFFER_SIZE);
664     EXPECT_CALL(*mockUsbImpl_, ControlTransferWrite(testing::_, testing::_, testing::_))
665         .WillRepeatedly(Return(RETVAL_INVALID));
666     dev_.busNum = BUS_NUM_INVALID;
667     auto ret = usbSrv_->ControlTransfer(dev_, ctrlData, ctrlBuffer);
668     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeMockTest::UsbControlTransferWrite006 ControlTransfer=%{public}d", ret);
669     EXPECT_NE(ret, 0);
670 
671     dev_.busNum = BUS_NUM_OK;
672 }
673 
674 /**
675  * @tc.name: UsbControlTransferWrite006
676  * @tc.desc: Test functions to ControlTransfer
677  * @tc.desc: Negative test: parameters exception, devAddr error
678  * @tc.type: FUNC
679  */
680 HWTEST_F(UsbDevicePipeMockTest, UsbControlTransferWrite006, TestSize.Level1)
681 {
682     struct UsbCtrlTransfer ctrlData = {USB_ENDPOINT_DIR_OUT | USB_SERVICE_TYPE_CLASS | USB_REQUEST_TARGET_INTERFACE,
683         USB_SERVICE_CDC_REQ_SET_CONTROL_LINE_STATE, 0, 0, TRANSFER_TIME_OUT};
684     std::vector<uint8_t> ctrlBuffer(BUFFER_SIZE);
685     dev_.devAddr = DEV_ADDR_INVALID;
686     EXPECT_CALL(*mockUsbImpl_, ControlTransferWrite(testing::_, testing::_, testing::_))
687         .WillRepeatedly(Return(RETVAL_INVALID));
688     auto ret = usbSrv_->ControlTransfer(dev_, ctrlData, ctrlBuffer);
689     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeMockTest::UsbControlTransferWrite006 ControlTransfer=%{public}d", ret);
690     EXPECT_NE(ret, 0);
691 
692     dev_.devAddr = DEV_ADDR_OK;
693 }
694 
695 /**
696  * @tc.name: UsbClaimInterface001
697  * @tc.desc: Test functions to ClaimInterface(const UsbInterface &interface, bool force);
698  * @tc.desc: Positive test: parameters correctly
699  * @tc.type: FUNC
700  */
701 HWTEST_F(UsbDevicePipeMockTest, UsbClaimInterface001, TestSize.Level1)
702 {
703     UsbInterface interface = device_.GetConfigs().front().GetInterfaces().front();
704     uint8_t interfaceId = interface.GetId();
705     EXPECT_CALL(*mockUsbImpl_, ClaimInterface(testing::_, testing::_, testing::_)).WillRepeatedly(Return(0));
706     auto ret = usbSrv_->ClaimInterface(dev_.busNum, dev_.devAddr, interfaceId, true);
707     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeMockTest::UsbClaimInterface001 ClaimInterface=%{public}d", ret);
708     EXPECT_EQ(0, ret);
709 }
710 
711 /**
712  * @tc.name: UsbClaimInterface002
713  * @tc.desc: Test functions to ClaimInterface(const UsbInterface &interface, bool force);
714  * @tc.desc: Positive test: parameters correctly
715  * @tc.type: FUNC
716  */
717 HWTEST_F(UsbDevicePipeMockTest, UsbClaimInterface002, TestSize.Level1)
718 {
719     UsbInterface interface = device_.GetConfigs().front().GetInterfaces().front();
720     uint8_t interfaceId = interface.GetId();
721     EXPECT_CALL(*mockUsbImpl_, ClaimInterface(testing::_, testing::_, testing::_)).WillRepeatedly(Return(0));
722     auto ret = usbSrv_->ClaimInterface(dev_.busNum, dev_.devAddr, interfaceId, false);
723     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeMockTest::UsbClaimInterface002 ClaimInterface=%{public}d", ret);
724     EXPECT_EQ(0, ret);
725 }
726 
727 /**
728  * @tc.name: UsbClaimInterface003
729  * @tc.desc: Test functions to ClaimInterface(const UsbInterface &interface, bool force);
730  * @tc.desc: Positive test: parameters correctly
731  * @tc.type: FUNC
732  */
733 HWTEST_F(UsbDevicePipeMockTest, UsbClaimInterface003, TestSize.Level1)
734 {
735     UsbInterface interface = device_.GetConfigs().front().GetInterfaces().at(1);
736     uint8_t interfaceId = interface.GetId();
737     EXPECT_CALL(*mockUsbImpl_, ClaimInterface(testing::_, testing::_, testing::_)).WillRepeatedly(Return(0));
738     auto ret = usbSrv_->ClaimInterface(dev_.busNum, dev_.devAddr, interfaceId, true);
739     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeMockTest::UsbClaimInterface003 ClaimInterface=%{public}d", ret);
740     EXPECT_EQ(0, ret);
741 }
742 
743 /**
744  * @tc.name: UsbClaimInterface004
745  * @tc.desc: Test functions to ClaimInterface(const UsbInterface &interface, bool force);
746  * @tc.desc: Positive test: parameters correctly
747  * @tc.type: FUNC
748  */
749 HWTEST_F(UsbDevicePipeMockTest, UsbClaimInterface004, TestSize.Level1)
750 {
751     UsbInterface interface = device_.GetConfigs().front().GetInterfaces().at(1);
752     uint8_t interfaceId = interface.GetId();
753     EXPECT_CALL(*mockUsbImpl_, ClaimInterface(testing::_, testing::_, testing::_)).WillRepeatedly(Return(0));
754     auto ret = usbSrv_->ClaimInterface(dev_.busNum, dev_.devAddr, interfaceId, false);
755     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeMockTest::UsbClaimInterface004 ClaimInterface=%{public}d", ret);
756     EXPECT_EQ(0, ret);
757 }
758 
759 /**
760  * @tc.name: UsbClaimInterface005
761  * @tc.desc: Test functions to ClaimInterface(const UsbInterface &interface, bool force);
762  * @tc.desc: Negative test: parameters exception, busNum error
763  * @tc.type: FUNC
764  */
765 HWTEST_F(UsbDevicePipeMockTest, UsbClaimInterface005, TestSize.Level1)
766 {
767     UsbInterface interface = device_.GetConfigs().front().GetInterfaces().front();
768     uint8_t interfaceId = interface.GetId();
769     dev_.busNum = BUS_NUM_INVALID;
770     EXPECT_CALL(*mockUsbImpl_, ClaimInterface(testing::_, testing::_, testing::_))
771         .WillRepeatedly(Return(RETVAL_INVALID));
772     auto ret = usbSrv_->ClaimInterface(dev_.busNum, dev_.devAddr, interfaceId, true);
773     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeMockTest::UsbClaimInterface005 ClaimInterface=%{public}d", ret);
774     EXPECT_NE(ret, 0);
775 
776     dev_.busNum = BUS_NUM_OK;
777 }
778 
779 /**
780  * @tc.name: UsbClaimInterface006
781  * @tc.desc: Test functions to ClaimInterface(const UsbInterface &interface, bool force);
782  * @tc.desc: Negative test: parameters exception, devAddr error
783  * @tc.type: FUNC
784  */
785 HWTEST_F(UsbDevicePipeMockTest, UsbClaimInterface006, TestSize.Level1)
786 {
787     UsbInterface interface = device_.GetConfigs().front().GetInterfaces().front();
788     uint8_t interfaceId = interface.GetId();
789     dev_.devAddr = DEV_ADDR_INVALID;
790     EXPECT_CALL(*mockUsbImpl_, ClaimInterface(testing::_, testing::_, testing::_))
791         .WillRepeatedly(Return(RETVAL_INVALID));
792     auto ret = usbSrv_->ClaimInterface(dev_.busNum, dev_.devAddr, interfaceId, true);
793     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeMockTest::UsbClaimInterface006 ClaimInterface=%{public}d", ret);
794     EXPECT_NE(ret, 0);
795     dev_.devAddr = DEV_ADDR_OK;
796 }
797 
798 /**
799  * @tc.name: UsbClaimInterface007
800  * @tc.desc: Test functions to ClaimInterface(const UsbInterface &interface, bool force);
801  * @tc.desc: Negative test: parameters exception, busNum error
802  * @tc.type: FUNC
803  */
804 HWTEST_F(UsbDevicePipeMockTest, UsbClaimInterface007, TestSize.Level1)
805 {
806     UsbInterface interface = device_.GetConfigs().front().GetInterfaces().at(1);
807     uint8_t interfaceId = interface.GetId();
808     dev_.busNum = BUS_NUM_INVALID;
809     EXPECT_CALL(*mockUsbImpl_, ClaimInterface(testing::_, testing::_, testing::_))
810         .WillRepeatedly(Return(RETVAL_INVALID));
811     auto ret = usbSrv_->ClaimInterface(dev_.busNum, dev_.devAddr, interfaceId, true);
812     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeMockTest::UsbClaimInterface007 ClaimInterface=%{public}d", ret);
813     EXPECT_NE(ret, 0);
814 
815     dev_.busNum = BUS_NUM_OK;
816 }
817 
818 /**
819  * @tc.name: UsbClaimInterface008
820  * @tc.desc: Test functions to ClaimInterface(const UsbInterface &interface, bool force);
821  * @tc.desc: Negative test: parameters exception, devAddr error
822  * @tc.type: FUNC
823  */
824 HWTEST_F(UsbDevicePipeMockTest, UsbClaimInterface008, TestSize.Level1)
825 {
826     UsbInterface interface = device_.GetConfigs().front().GetInterfaces().at(1);
827     uint8_t interfaceId = interface.GetId();
828     dev_.devAddr = DEV_ADDR_INVALID;
829     EXPECT_CALL(*mockUsbImpl_, ClaimInterface(testing::_, testing::_, testing::_))
830         .WillRepeatedly(Return(RETVAL_INVALID));
831     auto ret = usbSrv_->ClaimInterface(dev_.busNum, dev_.devAddr, interfaceId, true);
832     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeMockTest::UsbClaimInterface008 ClaimInterface=%{public}d", ret);
833     EXPECT_NE(ret, 0);
834 
835     dev_.devAddr = DEV_ADDR_OK;
836 }
837 
838 /**
839  * @tc.name: UsbReleaseInterface001
840  * @tc.desc: Test functions to ReleaseInterface(const UsbInterface &interface);
841  * @tc.desc: Positive test: parameters correctly
842  * @tc.type: FUNC
843  */
844 HWTEST_F(UsbDevicePipeMockTest, UsbReleaseInterface001, TestSize.Level1)
845 {
846     UsbInterface interface = device_.GetConfigs().front().GetInterfaces().at(0);
847     uint8_t interfaceId = interface.GetId();
848     EXPECT_CALL(*mockUsbImpl_, ReleaseInterface(testing::_, testing::_)).WillRepeatedly(Return(0));
849     auto ret = usbSrv_->ReleaseInterface(dev_.busNum, dev_.devAddr, interfaceId);
850     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeMockTest::UsbReleaseInterface001 ReleaseInterface=%{public}d", ret);
851     EXPECT_EQ(0, ret);
852 }
853 
854 /**
855  * @tc.name: UsbReleaseInterface002
856  * @tc.desc: Test functions to ReleaseInterface(const UsbInterface &interface);
857  * @tc.desc: Negative test: parameters exception, busNum error
858  * @tc.type: FUNC
859  */
860 HWTEST_F(UsbDevicePipeMockTest, UsbReleaseInterface002, TestSize.Level1)
861 {
862     UsbInterface interface = device_.GetConfigs().front().GetInterfaces().at(0);
863     uint8_t interfaceId = interface.GetId();
864     dev_.busNum = BUS_NUM_INVALID;
865     EXPECT_CALL(*mockUsbImpl_, ReleaseInterface(testing::_, testing::_)).WillRepeatedly(Return(RETVAL_INVALID));
866     auto ret = usbSrv_->ReleaseInterface(dev_.busNum, dev_.devAddr, interfaceId);
867     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeMockTest::UsbReleaseInterface002 ReleaseInterface=%{public}d", ret);
868     EXPECT_NE(ret, 0);
869 
870     dev_.busNum = BUS_NUM_OK;
871 }
872 
873 /**
874  * @tc.name: UsbReleaseInterface003
875  * @tc.desc: Test functions to ReleaseInterface(const UsbInterface &interface);
876  * @tc.desc: Negative test: parameters exception, devAddr error
877  * @tc.type: FUNC
878  */
879 HWTEST_F(UsbDevicePipeMockTest, UsbReleaseInterface003, TestSize.Level1)
880 {
881     UsbInterface interface = device_.GetConfigs().front().GetInterfaces().at(0);
882     uint8_t interfaceId = interface.GetId();
883     dev_.devAddr = DEV_ADDR_INVALID;
884     EXPECT_CALL(*mockUsbImpl_, ReleaseInterface(testing::_, testing::_)).WillRepeatedly(Return(RETVAL_INVALID));
885     auto ret = usbSrv_->ReleaseInterface(dev_.busNum, dev_.devAddr, interfaceId);
886     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeMockTest::UsbReleaseInterface003 ReleaseInterface=%{public}d", ret);
887     EXPECT_NE(ret, 0);
888 
889     dev_.devAddr = DEV_ADDR_OK;
890 }
891 
892 /**
893  * @tc.name: UsbReleaseInterface004
894  * @tc.desc: Test functions to ReleaseInterface(const UsbInterface &interface);
895  * @tc.desc: Positive test: parameters correctly
896  * @tc.type: FUNC
897  */
898 HWTEST_F(UsbDevicePipeMockTest, UsbReleaseInterface004, TestSize.Level1)
899 {
900     UsbInterface interface = device_.GetConfigs().front().GetInterfaces().at(1);
901     uint8_t interfaceId = interface.GetId();
902     EXPECT_CALL(*mockUsbImpl_, ClaimInterface(testing::_, testing::_, testing::_)).WillRepeatedly(Return(0));
903     auto ret = usbSrv_->ClaimInterface(dev_.busNum, dev_.devAddr, interfaceId, true);
904     EXPECT_EQ(0, ret);
905 
906     EXPECT_CALL(*mockUsbImpl_, ReleaseInterface(testing::_, testing::_)).WillRepeatedly(Return(0));
907     ret = usbSrv_->ReleaseInterface(dev_.busNum, dev_.devAddr, interfaceId);
908     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeMockTest::UsbReleaseInterface004 ReleaseInterface=%{public}d", ret);
909     EXPECT_EQ(0, ret);
910 }
911 
912 /**
913  * @tc.name: UsbReleaseInterface005
914  * @tc.desc: Test functions to ReleaseInterface(const UsbInterface &interface);
915  * @tc.desc: Negative test: parameters exception, busNum error
916  * @tc.type: FUNC
917  */
918 HWTEST_F(UsbDevicePipeMockTest, UsbReleaseInterface005, TestSize.Level1)
919 {
920     UsbInterface interface = device_.GetConfigs().front().GetInterfaces().at(1);
921     uint8_t interfaceId = interface.GetId();
922     dev_.busNum = BUS_NUM_INVALID;
923     EXPECT_CALL(*mockUsbImpl_, ReleaseInterface(testing::_, testing::_)).WillRepeatedly(Return(RETVAL_INVALID));
924     auto ret = usbSrv_->ReleaseInterface(dev_.busNum, dev_.devAddr, interfaceId);
925     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeMockTest::UsbReleaseInterface005 ReleaseInterface=%{public}d", ret);
926     EXPECT_NE(ret, 0);
927 
928     dev_.busNum = BUS_NUM_OK;
929 }
930 
931 /**
932  * @tc.name: UsbReleaseInterface006
933  * @tc.desc: Test functions to ReleaseInterface(const UsbInterface &interface);
934  * @tc.desc: Negative test: parameters exception, devAddr error
935  * @tc.type: FUNC
936  */
937 HWTEST_F(UsbDevicePipeMockTest, UsbReleaseInterface006, TestSize.Level1)
938 {
939     UsbInterface interface = device_.GetConfigs().front().GetInterfaces().at(1);
940     uint8_t interfaceId = interface.GetId();
941     dev_.devAddr = DEV_ADDR_INVALID;
942     EXPECT_CALL(*mockUsbImpl_, ReleaseInterface(testing::_, testing::_)).WillRepeatedly(Return(RETVAL_INVALID));
943     auto ret = usbSrv_->ReleaseInterface(dev_.busNum, dev_.devAddr, interfaceId);
944     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeMockTest::UsbReleaseInterface006 ReleaseInterface=%{public}d", ret);
945     EXPECT_NE(ret, 0);
946 
947     dev_.devAddr = DEV_ADDR_OK;
948 }
949 
950 /**
951  * @tc.name: UsbBulkTransfer001
952  * @tc.desc: Test functions to BulkTransfer(const USBEndpoint &endpoint, uint8_t *buffer, uint32_t &length, int32_t
953  * timeout);
954  * @tc.desc: Positive test: parameters correctly
955  * @tc.type: FUNC
956  */
957 HWTEST_F(UsbDevicePipeMockTest, UsbBulkTransfer001, TestSize.Level1)
958 {
959     UsbInterface interface = device_.GetConfigs().front().GetInterfaces().at(1);
960     uint8_t interfaceId = interface.GetId();
961     EXPECT_CALL(*mockUsbImpl_, ClaimInterface(testing::_, testing::_, testing::_)).WillRepeatedly(Return(0));
962     auto ret = usbSrv_->ClaimInterface(dev_.busNum, dev_.devAddr, interfaceId, true);
963     EXPECT_EQ(0, ret);
964 
965     USBEndpoint point = interface.GetEndpoints().front();
966     UsbPipe pipe = {point.GetInterfaceId(), point.GetAddress()};
967     std::vector<uint8_t> bulkBuffer = {'b', 'u', 'l', 'k', ' ', 'r', 'e', 'a', 'd', '0', '0', '1'};
968     EXPECT_CALL(*mockUsbImpl_, BulkTransferRead(testing::_, testing::_, testing::_, testing::_))
969         .WillRepeatedly(Return(0));
970     ret = usbSrv_->BulkTransferRead(dev_, pipe, bulkBuffer, TRANSFER_TIME_OUT);
971     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeMockTest::UsbBulkTransfer001 BulkTransfer=%{public}d", ret);
972     EXPECT_EQ(0, ret);
973 }
974 
975 /**
976  * @tc.name: UsbBulkTransfer002
977  * @tc.desc: Test functions to BulkTransfer(const USBEndpoint &endpoint, uint8_t *buffer, uint32_t &length, int32_t
978  * timeout);
979  * @tc.desc: @tc.desc: Positive test: parameters correctly
980  * @tc.type: FUNC
981  */
982 HWTEST_F(UsbDevicePipeMockTest, UsbBulkTransfer002, TestSize.Level1)
983 {
984     UsbInterface interface = device_.GetConfigs().front().GetInterfaces().at(1);
985     uint8_t interfaceId = interface.GetId();
986 
987     EXPECT_CALL(*mockUsbImpl_, ClaimInterface(testing::_, testing::_, testing::_)).WillRepeatedly(Return(0));
988     auto ret = usbSrv_->ClaimInterface(dev_.busNum, dev_.devAddr, interfaceId, true);
989     EXPECT_EQ(0, ret);
990 
991     std::vector<uint8_t> bulkBuffer = {'b', 'u', 'l', 'k', ' ', 'r', 'e', 'a', 'd', '0', '0', '2'};
992     USBEndpoint point = interface.GetEndpoints().front();
993     UsbPipe pipe = {point.GetInterfaceId(), point.GetAddress()};
994     EXPECT_CALL(*mockUsbImpl_, BulkTransferRead(testing::_, testing::_, testing::_, testing::_))
995         .WillRepeatedly(Return(0));
996     ret = usbSrv_->BulkTransferRead(dev_, pipe, bulkBuffer, TRANSFER_TIME);
997     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeMockTest::UsbBulkTransfer002 BulkTransfer=%{public}d", ret);
998     EXPECT_EQ(0, ret);
999 }
1000 
1001 /**
1002  * @tc.name: UsbBulkTransfer003
1003  * @tc.desc: Test functions to BulkTransfer(const USBEndpoint &endpoint, uint8_t *buffer, uint32_t &length, int32_t
1004  * timeout);
1005  * @tc.desc: Negative test: parameters exception, busNum error
1006  * @tc.type: FUNC
1007  */
1008 HWTEST_F(UsbDevicePipeMockTest, UsbBulkTransfer003, TestSize.Level1)
1009 {
1010     UsbInterface interface = device_.GetConfigs().front().GetInterfaces().at(1);
1011     uint8_t interfaceId = interface.GetId();
1012     EXPECT_CALL(*mockUsbImpl_, ClaimInterface(testing::_, testing::_, testing::_)).WillRepeatedly(Return(0));
1013     auto ret = usbSrv_->ClaimInterface(dev_.busNum, dev_.devAddr, interfaceId, true);
1014     EXPECT_EQ(0, ret);
1015 
1016     dev_.busNum = BUS_NUM_INVALID;
1017     USBEndpoint point = interface.GetEndpoints().front();
1018     UsbPipe pipe = {point.GetInterfaceId(), point.GetAddress()};
1019     std::vector<uint8_t> bulkBuffer = {'b', 'u', 'l', 'k', ' ', 'r', 'e', 'a', 'd', '0', '0', '3'};
1020     EXPECT_CALL(*mockUsbImpl_, BulkTransferRead(testing::_, testing::_, testing::_, testing::_))
1021         .WillRepeatedly(Return(RETVAL_INVALID));
1022     ret = usbSrv_->BulkTransferRead(dev_, pipe, bulkBuffer, TRANSFER_TIME_OUT);
1023     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeMockTest::UsbBulkTransfer003 BulkTransfer=%{public}d", ret);
1024     EXPECT_NE(ret, 0);
1025 
1026     dev_.busNum = BUS_NUM_OK;
1027 }
1028 
1029 /**
1030  * @tc.name: UsbBulkTransfer004
1031  * @tc.desc: Test functions to BulkTransfer(const USBEndpoint &endpoint, uint8_t *buffer, uint32_t &length, int32_t
1032  * timeout);
1033  * @tc.desc: Negative test: parameters exception, devAddr error
1034  * @tc.type: FUNC
1035  */
1036 HWTEST_F(UsbDevicePipeMockTest, UsbBulkTransfer004, TestSize.Level1)
1037 {
1038     UsbInterface interface = device_.GetConfigs().front().GetInterfaces().at(1);
1039     uint8_t interfaceId = interface.GetId();
1040     EXPECT_CALL(*mockUsbImpl_, ClaimInterface(testing::_, testing::_, testing::_)).WillRepeatedly(Return(0));
1041     auto ret = usbSrv_->ClaimInterface(dev_.busNum, dev_.devAddr, interfaceId, true);
1042     EXPECT_EQ(0, ret);
1043 
1044     dev_.devAddr = DEV_ADDR_INVALID;
1045     USBEndpoint point = interface.GetEndpoints().front();
1046     UsbPipe pipe = {point.GetInterfaceId(), point.GetAddress()};
1047     std::vector<uint8_t> bulkBuffer = {'b', 'u', 'l', 'k', ' ', 'r', 'e', 'a', 'd', '0', '0', '4'};
1048     EXPECT_CALL(*mockUsbImpl_, BulkTransferRead(testing::_, testing::_, testing::_, testing::_))
1049         .WillRepeatedly(Return(RETVAL_INVALID));
1050     ret = usbSrv_->BulkTransferRead(dev_, pipe, bulkBuffer, TRANSFER_TIME_OUT);
1051     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeMockTest::UsbBulkTransfer004 BulkTransfer=%{public}d", ret);
1052     EXPECT_NE(ret, 0);
1053 
1054     dev_.devAddr = DEV_ADDR_OK;
1055 }
1056 
1057 /**
1058  * @tc.name: UsbBulkTransfer005
1059  * @tc.desc: Test functions to BulkTransfer(const USBEndpoint &endpoint, uint8_t *buffer, uint32_t &length, int32_t
1060  * timeout);
1061  * @tc.desc: Negative test: parameters exception, point error
1062  * @tc.type: FUNC
1063  */
1064 HWTEST_F(UsbDevicePipeMockTest, UsbBulkTransfer005, TestSize.Level1)
1065 {
1066     UsbInterface interface = device_.GetConfigs().front().GetInterfaces().at(1);
1067     uint8_t interfaceId = interface.GetId();
1068     EXPECT_CALL(*mockUsbImpl_, ClaimInterface(testing::_, testing::_, testing::_)).WillRepeatedly(Return(0));
1069     auto ret = usbSrv_->ClaimInterface(dev_.busNum, dev_.devAddr, interfaceId, true);
1070     EXPECT_EQ(0, ret);
1071 
1072     USBEndpoint point = interface.GetEndpoints().front();
1073     UsbPipe pipe = {point.GetInterfaceId(), point.GetAddress()};
1074     point.SetInterfaceId(BUFFER_SIZE);
1075     std::vector<uint8_t> bulkBuffer = {'b', 'u', 'l', 'k', ' ', 'r', 'e', 'a', 'd', '0', '0', '5'};
1076     EXPECT_CALL(*mockUsbImpl_, BulkTransferRead(testing::_, testing::_, testing::_, testing::_))
1077         .WillRepeatedly(Return(RETVAL_INVALID));
1078     ret = usbSrv_->BulkTransferRead(dev_, pipe, bulkBuffer, TRANSFER_TIME_OUT);
1079     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeMockTest::UsbBulkTransfer005 BulkTransfer=%{public}d", ret);
1080     EXPECT_NE(ret, 0);
1081 }
1082 
1083 /**
1084  * @tc.name: UsbBulkTransfer006
1085  * @tc.desc: Test functions to BulkTransfer(const USBEndpoint &endpoint, uint8_t *buffer, uint32_t &length, int32_t
1086  * timeout);
1087  * @tc.desc: Negative test: parameters exception, point SetAddr error
1088  * @tc.type: FUNC
1089  */
1090 HWTEST_F(UsbDevicePipeMockTest, UsbBulkTransfer006, TestSize.Level1)
1091 {
1092     UsbInterface interface = device_.GetConfigs().front().GetInterfaces().at(1);
1093     uint8_t interfaceId = interface.GetId();
1094     EXPECT_CALL(*mockUsbImpl_, ClaimInterface(testing::_, testing::_, testing::_)).WillRepeatedly(Return(0));
1095     auto ret = usbSrv_->ClaimInterface(dev_.busNum, dev_.devAddr, interfaceId, true);
1096     EXPECT_EQ(0, ret);
1097 
1098     USBEndpoint point = interface.GetEndpoints().front();
1099     UsbPipe pipe = {point.GetInterfaceId(), point.GetAddress()};
1100     point.SetAddr(BUFFER_SIZE);
1101     std::vector<uint8_t> bulkBuffer = {'b', 'u', 'l', 'k', ' ', 'r', 'e', 'a', 'd', '0', '0', '6'};
1102     EXPECT_CALL(*mockUsbImpl_, BulkTransferRead(testing::_, testing::_, testing::_, testing::_))
1103         .WillRepeatedly(Return(RETVAL_INVALID));
1104     ret = usbSrv_->BulkTransferRead(dev_, pipe, bulkBuffer, TRANSFER_TIME_OUT);
1105     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeMockTest::UsbBulkTransfer006 BulkTransfer=%{public}d", ret);
1106     EXPECT_NE(ret, 0);
1107 }
1108 
1109 /**
1110  * @tc.name: UsbBulkTransfer007
1111  * @tc.desc: Test functions to BulkTransfer(const USBEndpoint &endpoint, uint8_t *buffer, uint32_t &length, int32_t
1112  * timeout);
1113  * @tc.desc: Positive test: parameters correctly
1114  * @tc.type: FUNC
1115  */
1116 HWTEST_F(UsbDevicePipeMockTest, UsbBulkTransfer007, TestSize.Level1)
1117 {
1118     UsbInterface interface = device_.GetConfigs().front().GetInterfaces().at(1);
1119     uint8_t interfaceId = interface.GetId();
1120     EXPECT_CALL(*mockUsbImpl_, ClaimInterface(testing::_, testing::_, testing::_)).WillRepeatedly(Return(0));
1121     auto ret = usbSrv_->ClaimInterface(dev_.busNum, dev_.devAddr, interfaceId, true);
1122     EXPECT_EQ(0, ret);
1123 
1124     USBEndpoint point = interface.GetEndpoints().at(1);
1125     UsbPipe pipe = {point.GetInterfaceId(), point.GetAddress()};
1126     std::vector<uint8_t> bulkBuffer = {'b', 'u', 'l', 'k', ' ', 'r', 'e', 'a', 'd', '0', '0', '7'};
1127     EXPECT_CALL(*mockUsbImpl_, BulkTransferWrite(testing::_, testing::_, testing::_, testing::_))
1128         .WillRepeatedly(Return(0));
1129     ret = usbSrv_->BulkTransferWrite(dev_, pipe, bulkBuffer, TRANSFER_TIME_OUT);
1130     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeMockTest::UsbBulkTransfer007 BulkTransfer=%{public}d", ret);
1131     EXPECT_EQ(0, ret);
1132 }
1133 
1134 /**
1135  * @tc.name: UsbBulkTransfer008
1136  * @tc.desc: Test functions to BulkTransfer(const USBEndpoint &endpoint, uint8_t *buffer, uint32_t &length, int32_t
1137  * timeout);
1138  * @tc.desc: Negative test: parameters exception, devAddr error
1139  * @tc.type: FUNC
1140  */
1141 HWTEST_F(UsbDevicePipeMockTest, UsbBulkTransfer008, TestSize.Level1)
1142 {
1143     UsbInterface interface = device_.GetConfigs().front().GetInterfaces().at(1);
1144     uint8_t interfaceId = interface.GetId();
1145     EXPECT_CALL(*mockUsbImpl_, ClaimInterface(testing::_, testing::_, testing::_)).WillRepeatedly(Return(0));
1146     auto ret = usbSrv_->ClaimInterface(dev_.busNum, dev_.devAddr, interfaceId, true);
1147     EXPECT_EQ(0, ret);
1148 
1149     dev_.devAddr = DEV_ADDR_INVALID;
1150     USBEndpoint point = interface.GetEndpoints().at(1);
1151     const UsbPipe pipe = {point.GetInterfaceId(), point.GetAddress()};
1152     std::vector<uint8_t> bulkBuffer = {'b', 'u', 'l', 'k', ' ', 'r', 'e', 'a', 'd', '0', '0', '8'};
1153     EXPECT_CALL(*mockUsbImpl_, BulkTransferWrite(testing::_, testing::_, testing::_, testing::_))
1154         .WillRepeatedly(Return(RETVAL_INVALID));
1155     ret = usbSrv_->BulkTransferWrite(dev_, pipe, bulkBuffer, TRANSFER_TIME_OUT);
1156     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeMockTest::UsbBulkTransfer008 BulkTransfer=%{public}d", ret);
1157     EXPECT_NE(ret, 0);
1158 
1159     dev_.devAddr = DEV_ADDR_OK;
1160 }
1161 
1162 /**
1163  * @tc.name: UsbBulkTransfer009
1164  * @tc.desc: Test functions to BulkTransfer(const USBEndpoint &endpoint, uint8_t *buffer, uint32_t &length, int32_t
1165  * timeout);
1166  * @tc.desc: Negative test: parameters exception, busNum error
1167  * @tc.type: FUNC
1168  */
1169 HWTEST_F(UsbDevicePipeMockTest, UsbBulkTransfer009, TestSize.Level1)
1170 {
1171     UsbInterface interface = device_.GetConfigs().front().GetInterfaces().at(1);
1172     uint8_t interfaceId = interface.GetId();
1173     EXPECT_CALL(*mockUsbImpl_, ClaimInterface(testing::_, testing::_, testing::_)).WillRepeatedly(Return(0));
1174     auto ret = usbSrv_->ClaimInterface(dev_.busNum, dev_.devAddr, interfaceId, true);
1175     EXPECT_EQ(0, ret);
1176 
1177     dev_.busNum = BUS_NUM_INVALID;
1178     USBEndpoint point = interface.GetEndpoints().at(1);
1179     const UsbPipe pipe = {point.GetInterfaceId(), point.GetAddress()};
1180     std::vector<uint8_t> bulkBuffer = {'b', 'u', 'l', 'k', ' ', 'r', 'e', 'a', 'd', '0', '0', '9'};
1181     EXPECT_CALL(*mockUsbImpl_, BulkTransferWrite(testing::_, testing::_, testing::_, testing::_))
1182         .WillRepeatedly(Return(RETVAL_INVALID));
1183     ret = usbSrv_->BulkTransferWrite(dev_, pipe, bulkBuffer, TRANSFER_TIME_OUT);
1184     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeMockTest::UsbBulkTransfer009 BulkTransfer=%{public}d", ret);
1185     EXPECT_NE(ret, 0);
1186 
1187     dev_.busNum = BUS_NUM_OK;
1188 }
1189 
1190 /**
1191  * @tc.name: UsbBulkTransfer010
1192  * @tc.desc: Test functions to BulkTransfer(const USBEndpoint &endpoint, uint8_t *buffer, uint32_t &length, int32_t
1193  * timeout);
1194  * @tc.desc: Positive test: parameters correctly
1195  * @tc.type: FUNC
1196  */
1197 HWTEST_F(UsbDevicePipeMockTest, UsbBulkTransfer010, TestSize.Level1)
1198 {
1199     UsbInterface interface = device_.GetConfigs().front().GetInterfaces().at(1);
1200     uint8_t interfaceId = interface.GetId();
1201     EXPECT_CALL(*mockUsbImpl_, ClaimInterface(testing::_, testing::_, testing::_)).WillRepeatedly(Return(0));
1202     auto ret = usbSrv_->ClaimInterface(dev_.busNum, dev_.devAddr, interfaceId, true);
1203     EXPECT_EQ(0, ret);
1204 
1205     USBEndpoint point = interface.GetEndpoints().at(1);
1206     const UsbPipe pipe = {point.GetInterfaceId(), point.GetAddress()};
1207     std::vector<uint8_t> bulkBuffer = {'b', 'u', 'l', 'k', ' ', 'r', 'e', 'a', 'd', '0', '1', '0'};
1208     EXPECT_CALL(*mockUsbImpl_, BulkTransferWrite(testing::_, testing::_, testing::_, testing::_))
1209         .WillRepeatedly(Return(0));
1210     ret = usbSrv_->BulkTransferWrite(dev_, pipe, bulkBuffer, TRANSFER_TIME);
1211     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeMockTest::UsbBulkTransfer010 BulkTransfer=%{public}d", ret);
1212     EXPECT_EQ(0, ret);
1213 }
1214 
1215 /**
1216  * @tc.name: SetConfiguration001
1217  * @tc.desc: Test functions to  SetConfiguration(const USBConfig &config);
1218  * @tc.desc: Positive test: parameters correctly
1219  * @tc.type: FUNC
1220  */
1221 HWTEST_F(UsbDevicePipeMockTest, SetConfiguration001, TestSize.Level1)
1222 {
1223     USBConfig config = device_.GetConfigs().front();
1224     uint8_t configIndex = config.GetiConfiguration();
1225     EXPECT_CALL(*mockUsbImpl_, SetConfig(testing::_, testing::_)).WillRepeatedly(Return(0));
1226     auto ret = usbSrv_->SetActiveConfig(dev_.busNum, dev_.devAddr, configIndex);
1227     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeMockTest::SetConfiguration001 SetConfiguration=%{public}d", ret);
1228     EXPECT_EQ(0, ret);
1229 }
1230 
1231 /**
1232  * @tc.name: SetConfiguration002
1233  * @tc.desc: Test functions to  SetConfiguration(const USBConfig &config);
1234  * @tc.desc: Negative test: parameters exception, busNum error
1235  * @tc.type: FUNC
1236  */
1237 HWTEST_F(UsbDevicePipeMockTest, SetConfiguration002, TestSize.Level1)
1238 {
1239     USBConfig config = device_.GetConfigs().front();
1240     uint8_t configIndex = config.GetiConfiguration();
1241     dev_.busNum = BUS_NUM_INVALID;
1242     EXPECT_CALL(*mockUsbImpl_, SetConfig(testing::_, testing::_)).WillRepeatedly(Return(RETVAL_INVALID));
1243     auto ret = usbSrv_->SetActiveConfig(dev_.busNum, dev_.devAddr, configIndex);
1244     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeMockTest::SetConfiguration002 ret=%{public}d", ret);
1245     EXPECT_NE(ret, 0);
1246 
1247     dev_.busNum = BUS_NUM_OK;
1248 }
1249 
1250 /**
1251  * @tc.name: SetConfiguration003
1252  * @tc.desc: Test functions to  SetConfiguration(const USBConfig &config);
1253  * @tc.desc: Negative test: parameters exception, devAddr error
1254  * @tc.type: FUNC
1255  */
1256 HWTEST_F(UsbDevicePipeMockTest, SetConfiguration003, TestSize.Level1)
1257 {
1258     USBConfig config = device_.GetConfigs().front();
1259     uint8_t configIndex = config.GetiConfiguration();
1260     dev_.devAddr = DEV_ADDR_INVALID;
1261     EXPECT_CALL(*mockUsbImpl_, SetConfig(testing::_, testing::_)).WillRepeatedly(Return(RETVAL_INVALID));
1262     auto ret = usbSrv_->SetActiveConfig(dev_.busNum, dev_.devAddr, configIndex);
1263     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeMockTest::SetConfiguration003 SetConfiguration=%{public}d", ret);
1264     EXPECT_NE(ret, 0);
1265 
1266     dev_.devAddr = DEV_ADDR_OK;
1267 }
1268 
1269 /**
1270  * @tc.name: Close001
1271  * @tc.desc: Test functions to  Close();
1272  * @tc.desc: Positive test: parameters correctly
1273  * @tc.type: FUNC
1274  */
1275 HWTEST_F(UsbDevicePipeMockTest, Close001, TestSize.Level1)
1276 {
1277     EXPECT_CALL(*mockUsbImpl_, CloseDevice(testing::_)).WillRepeatedly(Return(0));
1278     auto ret = usbSrv_->Close(dev_.busNum, dev_.devAddr);
1279     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeMockTest::Close001 close=%{public}d", ret);
1280     EXPECT_EQ(0, ret);
1281 
1282     EXPECT_CALL(*mockUsbImpl_, OpenDevice(testing::_)).WillRepeatedly(Return(0));
1283     ret = usbSrv_->OpenDevice(dev_.busNum, dev_.devAddr);
1284     EXPECT_EQ(0, ret);
1285 }
1286 
1287 /**
1288  * @tc.name: Close002
1289  * @tc.desc: Test functions to  Close();
1290  * @tc.desc: Negative test: parameters exception, busNum error
1291  * @tc.type: FUNC
1292  */
1293 HWTEST_F(UsbDevicePipeMockTest, Close002, TestSize.Level1)
1294 {
1295     dev_.busNum = BUS_NUM_INVALID;
1296     EXPECT_CALL(*mockUsbImpl_, CloseDevice(testing::_)).WillRepeatedly(Return(RETVAL_INVALID));
1297     auto ret = usbSrv_->Close(dev_.busNum, dev_.devAddr);
1298     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeMockTest::Close002 close=%{public}d", ret);
1299     EXPECT_NE(ret, 0);
1300 
1301     dev_.busNum = BUS_NUM_OK;
1302     EXPECT_CALL(*mockUsbImpl_, OpenDevice(testing::_)).WillRepeatedly(Return(0));
1303     ret = usbSrv_->OpenDevice(dev_.busNum, dev_.devAddr);
1304     EXPECT_EQ(0, ret);
1305 }
1306 
1307 /**
1308  * @tc.name: Close003
1309  * @tc.desc: Test functions to  Close();
1310  * @tc.desc: Negative test: parameters exception, devAddr error
1311  * @tc.type: FUNC
1312  */
1313 HWTEST_F(UsbDevicePipeMockTest, Close003, TestSize.Level1)
1314 {
1315     dev_.devAddr = DEV_ADDR_INVALID;
1316     EXPECT_CALL(*mockUsbImpl_, CloseDevice(testing::_)).WillRepeatedly(Return(RETVAL_INVALID));
1317     auto ret = usbSrv_->Close(dev_.busNum, dev_.devAddr);
1318     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeMockTest::Close003 ret=%{public}d", ret);
1319     EXPECT_NE(ret, 0);
1320 
1321     dev_.devAddr = DEV_ADDR_OK;
1322     EXPECT_CALL(*mockUsbImpl_, OpenDevice(testing::_)).WillRepeatedly(Return(0));
1323     ret = usbSrv_->OpenDevice(dev_.busNum, dev_.devAddr);
1324     EXPECT_EQ(0, ret);
1325 }
1326 
1327 /**
1328  * @tc.name: SetInterface001
1329  * @tc.desc: Test functions to SetInterface(const UsbInterface &interface);
1330  * @tc.desc: Positive test: parameters correctly
1331  * @tc.type: FUNC
1332  */
1333 HWTEST_F(UsbDevicePipeMockTest, SetInterface001, TestSize.Level1)
1334 {
1335     UsbInterface interface = device_.GetConfigs().front().GetInterfaces().at(0);
1336     uint8_t interfaceId = interface.GetId();
1337     EXPECT_CALL(*mockUsbImpl_, ClaimInterface(testing::_, testing::_, testing::_)).WillRepeatedly(Return(0));
1338     auto ret = usbSrv_->ClaimInterface(dev_.busNum, dev_.devAddr, interfaceId, true);
1339     EXPECT_EQ(0, ret);
1340 
1341     uint8_t altIndex = interface.GetAlternateSetting();
1342     EXPECT_CALL(*mockUsbImpl_, SetInterface(testing::_, testing::_, testing::_)).WillRepeatedly(Return(0));
1343     ret = usbSrv_->SetInterface(dev_.busNum, dev_.devAddr, interfaceId, altIndex);
1344     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeMockTest::SetInterface001 SetInterface=%{public}d", ret);
1345     EXPECT_EQ(0, ret);
1346 }
1347 
1348 /**
1349  * @tc.name: SetInterface002
1350  * @tc.desc: Test functions to SetInterface(const UsbInterface &interface);
1351  * @tc.desc: Negative test: parameters exception, busNum error
1352  * @tc.type: FUNC
1353  */
1354 HWTEST_F(UsbDevicePipeMockTest, SetInterface002, TestSize.Level1)
1355 {
1356     UsbInterface interface = device_.GetConfigs().front().GetInterfaces().at(0);
1357     uint8_t interfaceId = interface.GetId();
1358     EXPECT_CALL(*mockUsbImpl_, ClaimInterface(testing::_, testing::_, testing::_)).WillRepeatedly(Return(0));
1359     auto ret = usbSrv_->ClaimInterface(dev_.busNum, dev_.devAddr, interfaceId, true);
1360     EXPECT_EQ(0, ret);
1361 
1362     dev_.busNum = BUS_NUM_INVALID;
1363     uint8_t altIndex = interface.GetAlternateSetting();
1364     EXPECT_CALL(*mockUsbImpl_, SetInterface(testing::_, testing::_, testing::_)).WillRepeatedly(Return(RETVAL_INVALID));
1365     ret = usbSrv_->SetInterface(dev_.busNum, dev_.devAddr, interfaceId, altIndex);
1366     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeMockTest::SetInterface002 SetInterface=%{public}d", ret);
1367     EXPECT_NE(ret, 0);
1368 
1369     dev_.busNum = BUS_NUM_OK;
1370 }
1371 
1372 /**
1373  * @tc.name: SetInterface003
1374  * @tc.desc: Test functions to SetInterface(const UsbInterface &interface);
1375  * @tc.desc: Negative test: parameters exception, devAddr error
1376  * @tc.type: FUNC
1377  */
1378 HWTEST_F(UsbDevicePipeMockTest, SetInterface003, TestSize.Level1)
1379 {
1380     UsbInterface interface = device_.GetConfigs().front().GetInterfaces().at(0);
1381     uint8_t interfaceId = interface.GetId();
1382     EXPECT_CALL(*mockUsbImpl_, ClaimInterface(testing::_, testing::_, testing::_)).WillRepeatedly(Return(0));
1383     auto ret = usbSrv_->ClaimInterface(dev_.busNum, dev_.devAddr, interfaceId, true);
1384     EXPECT_EQ(0, ret);
1385 
1386     dev_.devAddr = DEV_ADDR_INVALID;
1387     uint8_t altIndex = interface.GetAlternateSetting();
1388     EXPECT_CALL(*mockUsbImpl_, SetInterface(testing::_, testing::_, testing::_)).WillRepeatedly(Return(RETVAL_INVALID));
1389     ret = usbSrv_->SetInterface(dev_.busNum, dev_.devAddr, interfaceId, altIndex);
1390     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeMockTest::SetInterface003 SetInterface=%{public}d", ret);
1391     EXPECT_NE(ret, 0);
1392 
1393     dev_.devAddr = DEV_ADDR_OK;
1394 }
1395 
1396 /**
1397  * @tc.name: SetInterface004
1398  * @tc.desc: Test functions to  SetInterface(const UsbInterface &interface);
1399  * @tc.desc: Positive test: parameters correctly
1400  * @tc.type: FUNC
1401  */
1402 HWTEST_F(UsbDevicePipeMockTest, SetInterface004, TestSize.Level1)
1403 {
1404     UsbInterface interface = device_.GetConfigs().at(0).GetInterfaces().at(1);
1405     uint8_t interfaceId = interface.GetId();
1406     EXPECT_CALL(*mockUsbImpl_, ClaimInterface(testing::_, testing::_, testing::_)).WillRepeatedly(Return(0));
1407     auto ret = usbSrv_->ClaimInterface(dev_.busNum, dev_.devAddr, interfaceId, true);
1408     EXPECT_EQ(0, ret);
1409 
1410     uint8_t altIndex = interface.GetAlternateSetting();
1411     EXPECT_CALL(*mockUsbImpl_, SetInterface(testing::_, testing::_, testing::_)).WillRepeatedly(Return(0));
1412     ret = usbSrv_->SetInterface(dev_.busNum, dev_.devAddr, interfaceId, altIndex);
1413     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeMockTest::SetInterface004 SetInterface=%{public}d", ret);
1414     EXPECT_EQ(0, ret);
1415 }
1416 
1417 /**
1418  * @tc.name: SetInterface005
1419  * @tc.desc: Test functions to  SetInterface(const UsbInterface &interface);
1420  * @tc.desc: Negative test: parameters exception, busNum error
1421  * @tc.type: FUNC
1422  */
1423 HWTEST_F(UsbDevicePipeMockTest, SetInterface005, TestSize.Level1)
1424 {
1425     UsbInterface interface = device_.GetConfigs().at(0).GetInterfaces().at(1);
1426     uint8_t interfaceId = interface.GetId();
1427 
1428     EXPECT_CALL(*mockUsbImpl_, ClaimInterface(testing::_, testing::_, testing::_)).WillRepeatedly(Return(0));
1429     auto ret = usbSrv_->ClaimInterface(dev_.busNum, dev_.devAddr, interfaceId, true);
1430     EXPECT_EQ(0, ret);
1431 
1432     dev_.busNum = BUS_NUM_INVALID;
1433     uint8_t altIndex = interface.GetAlternateSetting();
1434     EXPECT_CALL(*mockUsbImpl_, SetInterface(testing::_, testing::_, testing::_)).WillRepeatedly(Return(RETVAL_INVALID));
1435     ret = usbSrv_->SetInterface(dev_.busNum, dev_.devAddr, interfaceId, altIndex);
1436     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeMockTest::SetInterface005 SetInterface=%{public}d", ret);
1437     EXPECT_NE(ret, 0);
1438 
1439     dev_.busNum = BUS_NUM_OK;
1440 }
1441 
1442 /**
1443  * @tc.name: SetInterface006
1444  * @tc.desc: Test functions to  SetInterface(const UsbInterface &interface);
1445  * @tc.desc: Negative test: parameters exception, devAddr error
1446  * @tc.type: FUNC
1447  */
1448 HWTEST_F(UsbDevicePipeMockTest, SetInterface006, TestSize.Level1)
1449 {
1450     UsbInterface interface = device_.GetConfigs().at(0).GetInterfaces().at(1);
1451     uint8_t interfaceId = interface.GetId();
1452     EXPECT_CALL(*mockUsbImpl_, ClaimInterface(testing::_, testing::_, testing::_)).WillRepeatedly(Return(0));
1453     auto ret = usbSrv_->ClaimInterface(dev_.busNum, dev_.devAddr, interfaceId, true);
1454     EXPECT_EQ(0, ret);
1455 
1456     dev_.devAddr = DEV_ADDR_INVALID;
1457     uint8_t altIndex = interface.GetAlternateSetting();
1458     EXPECT_CALL(*mockUsbImpl_, SetInterface(testing::_, testing::_, testing::_)).WillRepeatedly(Return(RETVAL_INVALID));
1459     ret = usbSrv_->SetInterface(dev_.busNum, dev_.devAddr, interfaceId, altIndex);
1460     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeMockTest::SetInterface006 SetInterface=%{public}d", ret);
1461     EXPECT_NE(ret, 0);
1462 
1463     dev_.devAddr = DEV_ADDR_OK;
1464 }
1465 
1466 /**
1467  * @tc.name: GetRawDescriptors001
1468  * @tc.desc: Test functions to GetRawDescriptors
1469  * @tc.desc: Positive test: parameters correctly
1470  * @tc.type: FUNC
1471  */
1472 HWTEST_F(UsbDevicePipeMockTest, GetRawDescriptors001, TestSize.Level1)
1473 {
1474     std::vector<uint8_t> buffer;
1475     auto ret = usbSrv_->GetRawDescriptor(dev_.busNum, dev_.devAddr, buffer);
1476     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeMockTest::GetRawDescriptors001 GetRawDescriptors=%{public}d", ret);
1477     EXPECT_EQ(0, ret);
1478 }
1479 
1480 /**
1481  * @tc.name: GetRawDescriptors002
1482  * @tc.desc: Test functions to GetRawDescriptors
1483  * @tc.desc: Negative test: parameters exception, busNum error
1484  * @tc.type: FUNC
1485  */
1486 HWTEST_F(UsbDevicePipeMockTest, GetRawDescriptors002, TestSize.Level1)
1487 {
1488     std::vector<uint8_t> buffer;
1489     dev_.busNum = BUS_NUM_INVALID;
1490     auto ret = usbSrv_->GetRawDescriptor(dev_.busNum, dev_.devAddr, buffer);
1491     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeMockTest::GetRawDescriptors002 GetRawDescriptors=%{public}d", ret);
1492     EXPECT_NE(ret, 0);
1493 
1494     dev_.busNum = BUS_NUM_OK;
1495 }
1496 
1497 /**
1498  * @tc.name: GetRawDescriptors003
1499  * @tc.desc: Test functions to GetRawDescriptors
1500  * @tc.desc: Negative test: parameters exception, devAddr error
1501  * @tc.type: FUNC
1502  */
1503 HWTEST_F(UsbDevicePipeMockTest, GetRawDescriptors003, TestSize.Level1)
1504 {
1505     std::vector<uint8_t> buffer;
1506     dev_.devAddr = DEV_ADDR_INVALID;
1507     auto ret = usbSrv_->GetRawDescriptor(dev_.busNum, dev_.devAddr, buffer);
1508     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeMockTest::GetRawDescriptors003 GetRawDescriptors=%{public}d", ret);
1509     EXPECT_NE(ret, 0);
1510 
1511     dev_.devAddr = DEV_ADDR_OK;
1512 }
1513 
1514 /**
1515  * @tc.name: GetFileDescriptors001
1516  * @tc.desc: Test functions to GetRawDescriptors
1517  * @tc.desc: Positive test: parameters correctly
1518  * @tc.type: FUNC
1519  */
1520 HWTEST_F(UsbDevicePipeMockTest, GetFileDescriptors001, TestSize.Level1)
1521 {
1522     std::vector<uint8_t> buffer;
1523     auto ret = usbSrv_->GetRawDescriptor(dev_.busNum, dev_.devAddr, buffer);
1524     EXPECT_EQ(0, ret);
1525 
1526     int32_t fd = 0;
1527     EXPECT_CALL(*mockUsbImpl_, GetFileDescriptor(testing::_, testing::_)).WillRepeatedly(Return(0));
1528     ret = usbSrv_->GetFileDescriptor(dev_.busNum, dev_.devAddr, fd);
1529     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeMockTest::GetFileDescriptors001 GetFileDescriptor=%{public}d", ret);
1530     EXPECT_EQ(0, ret);
1531 }
1532 
1533 /**
1534  * @tc.name: GetFileDescriptors002
1535  * @tc.desc: Test functions to GetRawDescriptors
1536  * @tc.desc: Negative test: parameters exception, busNum error
1537  * @tc.type: FUNC
1538  */
1539 HWTEST_F(UsbDevicePipeMockTest, GetFileDescriptors002, TestSize.Level1)
1540 {
1541     std::vector<uint8_t> buffer;
1542     auto ret = usbSrv_->GetRawDescriptor(dev_.busNum, dev_.devAddr, buffer);
1543     EXPECT_EQ(0, ret);
1544 
1545     dev_.busNum = BUS_NUM_INVALID;
1546     int32_t fd = 0;
1547     EXPECT_CALL(*mockUsbImpl_, GetFileDescriptor(testing::_, testing::_)).WillRepeatedly(Return(RETVAL_INVALID));
1548     ret = usbSrv_->GetFileDescriptor(dev_.busNum, dev_.devAddr, fd);
1549     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeMockTest::GetFileDescriptors002 GetFileDescriptor=%{public}d", ret);
1550     EXPECT_NE(ret, 0);
1551 
1552     dev_.busNum = BUS_NUM_OK;
1553 }
1554 
1555 /**
1556  * @tc.name: GetFileDescriptors003
1557  * @tc.desc: Test functions to GetRawDescriptors
1558  * @tc.desc: Negative test: parameters exception, devAddr error
1559  * @tc.type: FUNC
1560  */
1561 HWTEST_F(UsbDevicePipeMockTest, GetFileDescriptors003, TestSize.Level1)
1562 {
1563     std::vector<uint8_t> buffer;
1564     auto ret = usbSrv_->GetRawDescriptor(dev_.busNum, dev_.devAddr, buffer);
1565     EXPECT_EQ(0, ret);
1566 
1567     dev_.devAddr = DEV_ADDR_INVALID;
1568     int32_t fd = 0;
1569     EXPECT_CALL(*mockUsbImpl_, GetFileDescriptor(testing::_, testing::_)).WillRepeatedly(Return(RETVAL_INVALID));
1570     ret = usbSrv_->GetFileDescriptor(dev_.busNum, dev_.devAddr, fd);
1571     USB_HILOGI(MODULE_USB_SERVICE, "UsbDevicePipeMockTest::GetFileDescriptors003 GetFileDescriptor=%{public}d", ret);
1572     EXPECT_NE(ret, 0);
1573 
1574     dev_.devAddr = DEV_ADDR_OK;
1575 }
1576 } // namespace USB
1577 } // namespace OHOS
1578