• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Copyright (c) 2021-2022 Huawei Device Co., Ltd.
3  * Licensed under the Apache License, Version 2.0 (the "License");
4  * you may not use this file except in compliance with the License.
5  * You may obtain a copy of the License at
6  *
7  *     http://www.apache.org/licenses/LICENSE-2.0
8  *
9  * Unless required by applicable law or agreed to in writing, software
10  * distributed under the License is distributed on an "AS IS" BASIS,
11  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12  * See the License for the specific language governing permissions and
13  * limitations under the License.
14  */
15 
16 #include "usbd_transfer_test.h"
17 
18 #include <iostream>
19 #include <vector>
20 
21 #include "UsbSubscriberTest.h"
22 #include "hdf_log.h"
23 #include "securec.h"
24 #include "v1_0/iusb_interface.h"
25 #include "v1_0/usb_types.h"
26 
27 const int SLEEP_TIME = 3;
28 const uint8_t BUS_NUM_99 = 99;
29 const uint8_t BUS_NUM_222 = 222;
30 const uint8_t BUS_NUM_255 = 255;
31 const uint8_t DEV_ADDR_99 = 99;
32 const uint8_t DEV_ADDR_244 = 244;
33 const uint8_t DEV_ADDR_255 = 255;
34 const uint32_t LENGTH_NUM_255 = 255;
35 const uint8_t INTERFACEID_1 = 1;
36 const uint8_t PIPE_ENDPOINTID_244 = 244;
37 const uint8_t PIPE_ENDPOINTID_255 = 255;
38 const uint8_t PIPE_INTERFACEID_244 = 244;
39 const uint8_t PIPE_INTERFACEID_255 = 255;
40 const uint8_t POINTID_1 = 1;
41 const uint8_t POINTID_99 = 99;
42 const uint8_t POINTID_129 = 130;
43 const uint8_t POINTID_BULK_IN = 0x82;
44 const uint8_t POINTID_BULK_OUT = 0x01;
45 const int32_t ASHMEM_MAX_SIZE = 1024;
46 UsbDev UsbdTransferTest::dev_ = {0, 0};
47 
48 using namespace testing::ext;
49 using namespace OHOS;
50 using namespace OHOS::USB;
51 using namespace std;
52 using namespace OHOS::HDI::Usb::V1_0;
53 
54 namespace {
55 sptr<IUsbInterface> g_usbInterface = nullptr;
56 
InitAshmemOne(sptr<Ashmem> & asmptr,int32_t asmSize,uint8_t rflg)57 int32_t InitAshmemOne(sptr<Ashmem> &asmptr, int32_t asmSize, uint8_t rflg)
58 {
59     asmptr = Ashmem::CreateAshmem("ttashmem000", asmSize);
60     if (asmptr == nullptr) {
61         HDF_LOGE("InitAshmemOne CreateAshmem failed\n");
62         return HDF_FAILURE;
63     }
64 
65     asmptr->MapReadAndWriteAshmem();
66 
67     if (rflg == 0) {
68         uint8_t tdata[ASHMEM_MAX_SIZE];
69         int32_t offset = 0;
70         int32_t tlen = 0;
71 
72         int32_t retSafe = memset_s(tdata, sizeof(tdata), 'Y', ASHMEM_MAX_SIZE);
73         if (retSafe != EOK) {
74             HDF_LOGE("InitAshmemOne memset_s failed\n");
75             return HDF_FAILURE;
76         }
77         while (offset < asmSize) {
78             tlen = (asmSize - offset) < ASHMEM_MAX_SIZE ? (asmSize - offset) : ASHMEM_MAX_SIZE;
79             asmptr->WriteToAshmem(tdata, tlen, offset);
80             offset += tlen;
81         }
82     }
83     return HDF_SUCCESS;
84 }
85 
SetUpTestCase(void)86 void UsbdTransferTest::SetUpTestCase(void)
87 {
88     g_usbInterface = IUsbInterface::Get();
89     if (g_usbInterface == nullptr) {
90         HDF_LOGE("%{public}s:IUsbInterface::Get() failed.", __func__);
91         exit(0);
92     }
93     auto ret = g_usbInterface->SetPortRole(1, 1, 1);
94     sleep(SLEEP_TIME);
95     HDF_LOGI("UsbdTransferTest::[Device] %{public}d SetPortRole=%{public}d", __LINE__, ret);
96     ASSERT_EQ(0, ret);
97     if (ret != 0) {
98         exit(0);
99     }
100 
101     sptr<UsbSubscriberTest> subscriber = new UsbSubscriberTest();
102     if (subscriber == nullptr) {
103         HDF_LOGE("%{public}s:UsbSubscriberTest new failed.", __func__);
104         exit(0);
105     }
106     if (g_usbInterface->BindUsbdSubscriber(subscriber) != HDF_SUCCESS) {
107         HDF_LOGE("%{public}s: bind usbd subscriber failed\n", __func__);
108         exit(0);
109     }
110 
111     std::cout << "please connect device, press enter to continue" << std::endl;
112     int c;
113     while ((c = getchar()) != '\n' && c != EOF) {}
114 
115     dev_ = {subscriber->busNum_, subscriber->devAddr_};
116     ret = g_usbInterface->OpenDevice(dev_);
117     HDF_LOGI("UsbdTransferTest:: %{public}d OpenDevice=%{public}d", __LINE__, ret);
118     ASSERT_EQ(0, ret);
119 }
120 
TearDownTestCase(void)121 void UsbdTransferTest::TearDownTestCase(void)
122 {
123     sptr<UsbSubscriberTest> subscriber = new UsbSubscriberTest();
124     if (subscriber == nullptr) {
125         HDF_LOGE("%{public}s:UsbSubscriberTest new failed.", __func__);
126         exit(0);
127     }
128     if (g_usbInterface->BindUsbdSubscriber(subscriber) != HDF_SUCCESS) {
129         HDF_LOGE("%{public}s: bind usbd subscriber failed\n", __func__);
130         exit(0);
131     }
132     dev_ = {subscriber->busNum_, subscriber->devAddr_};
133     auto ret = g_usbInterface->CloseDevice(dev_);
134     HDF_LOGI("UsbdTransferTest:: %{public}d Close=%{public}d", __LINE__, ret);
135     ASSERT_EQ(0, ret);
136 }
137 
SetUp(void)138 void UsbdTransferTest::SetUp(void) {}
139 
TearDown(void)140 void UsbdTransferTest::TearDown(void) {}
141 
142 /**
143  * @tc.name: UsbdControlTransfer001
144  * @tc.desc: Test functions to ControlTransfer(const UsbDev &dev, UsbCtrlTransfer &ctrl, std::vector<uint8_t> &data);
145  * @tc.desc: Positive test: parameters correctly, standard request: get configuration
146  * @tc.type: FUNC
147  */
148 HWTEST_F(UsbdTransferTest, UsbdControlTransfer001, TestSize.Level1)
149 {
150     struct UsbDev dev = dev_;
151     uint8_t buffer[LENGTH_NUM_255] = {0};
152     uint32_t length = LENGTH_NUM_255;
153     std::vector<uint8_t> bufferdata = {buffer, buffer + length};
154     struct UsbCtrlTransfer ctrlparmas = {0b10000000, 8, 0, 0, 1000};
155     auto ret = g_usbInterface->ControlTransferRead(dev, ctrlparmas, bufferdata);
156     HDF_LOGI("UsbdTransferTest::UsbdControlTransfer001 %{public}d ControlTransfer=%{public}d", __LINE__, ret);
157     ASSERT_EQ(0, ret);
158 }
159 
160 /**
161  * @tc.name: UsbdControlTransfer002
162  * @tc.desc: Test functions to ControlTransfer(const UsbDev &dev, UsbCtrlTransfer &ctrl, std::vector<uint8_t> &data);
163  * @tc.desc: Negative test: parameters exception, busNum error, standard request: get configuration
164  * @tc.type: FUNC
165  */
166 HWTEST_F(UsbdTransferTest, UsbdControlTransfer002, TestSize.Level1)
167 {
168     struct UsbDev dev = {BUS_NUM_255, dev_.devAddr};
169     uint8_t buffer[LENGTH_NUM_255] = {0};
170     uint32_t length = LENGTH_NUM_255;
171     std::vector<uint8_t> bufferdata = {buffer, buffer + length};
172     struct UsbCtrlTransfer ctrlparmas = {0b10000000, 8, 0, 0, 1000};
173     auto ret = g_usbInterface->ControlTransferRead(dev, ctrlparmas, bufferdata);
174     HDF_LOGI("UsbdTransferTest::UsbdControlTransfer002 %{public}d ControlTransfer=%{public}d", __LINE__, ret);
175     ASSERT_NE(ret, 0);
176 }
177 
178 /**
179  * @tc.name: UsbdControlTransfer003
180  * @tc.desc: Test functions to ControlTransfer(const UsbDev &dev, UsbCtrlTransfer &ctrl, std::vector<uint8_t> &data);
181  * @tc.desc: Negative test: parameters exception, devAddr error, standard request: get configuration
182  * @tc.type: FUNC
183  */
184 HWTEST_F(UsbdTransferTest, UsbdControlTransfer003, TestSize.Level1)
185 {
186     struct UsbDev dev = {dev_.busNum, DEV_ADDR_255};
187     uint8_t buffer[LENGTH_NUM_255] = {0};
188     uint32_t length = LENGTH_NUM_255;
189     std::vector<uint8_t> bufferdata = {buffer, buffer + length};
190     struct UsbCtrlTransfer ctrlparmas = {0b10000000, 8, 0, 0, 1000};
191     auto ret = g_usbInterface->ControlTransferRead(dev, ctrlparmas, bufferdata);
192     HDF_LOGI("UsbdTransferTest::UsbdControlTransfer003 %{public}d ControlTransfer=%{public}d", __LINE__, ret);
193     ASSERT_NE(ret, 0);
194 }
195 
196 /**
197  * @tc.name: UsbdControlTransfer004
198  * @tc.desc: Test functions to ControlTransfer(const UsbDev &dev, UsbCtrlTransfer &ctrl, std::vector<uint8_t> &data);
199  * @tc.desc: Positive test: parameters correctly, standard request: get descriptor(device)
200  * @tc.type: FUNC
201  */
202 HWTEST_F(UsbdTransferTest, UsbdControlTransfer004, TestSize.Level1)
203 {
204     struct UsbDev dev = dev_;
205     uint32_t length = LENGTH_NUM_255;
206     uint8_t buffer[LENGTH_NUM_255] = {0};
207     std::vector<uint8_t> bufferdata = {buffer, buffer + length};
208     struct UsbCtrlTransfer ctrlparmas = {0b10000000, 6, 0x100, 0, 1000};
209     auto ret = g_usbInterface->ControlTransferRead(dev, ctrlparmas, bufferdata);
210     HDF_LOGI("UsbdTransferTest::UsbdControlTransfer004 %{public}d ControlTransfer=%{public}d", __LINE__, ret);
211     ASSERT_EQ(0, ret);
212 }
213 
214 /**
215  * @tc.name: UsbdControlTransfer005
216  * @tc.desc: Test functions to ControlTransfer(const UsbDev &dev, UsbCtrlTransfer &ctrl, std::vector<uint8_t> &data);
217  * @tc.desc: Negative test: parameters exception, busNum error, standard request: get descriptor(device)
218  * @tc.type: FUNC
219  */
220 HWTEST_F(UsbdTransferTest, UsbdControlTransfer005, TestSize.Level1)
221 {
222     struct UsbDev dev = {BUS_NUM_255, dev_.devAddr};
223     uint32_t length = LENGTH_NUM_255;
224     uint8_t buffer[LENGTH_NUM_255] = {0};
225     std::vector<uint8_t> bufferdata = {buffer, buffer + length};
226     struct UsbCtrlTransfer ctrlparmas = {0b10000000, 6, 0x100, 0, 1000};
227     auto ret = g_usbInterface->ControlTransferRead(dev, ctrlparmas, bufferdata);
228     HDF_LOGI("UsbdTransferTest::UsbdControlTransfer005 %{public}d ControlTransfer=%{public}d", __LINE__, ret);
229     ASSERT_NE(ret, 0);
230 }
231 
232 /**
233  * @tc.name: UsbdControlTransfer006
234  * @tc.desc: Test functions to ControlTransfer(const UsbDev &dev, UsbCtrlTransfer &ctrl, std::vector<uint8_t> &data);
235  * @tc.desc: Negative test: parameters exception, devAddr error, standard request: get descriptor(device)
236  * @tc.type: FUNC
237  */
238 HWTEST_F(UsbdTransferTest, UsbdControlTransfer006, TestSize.Level1)
239 {
240     struct UsbDev dev = {dev_.busNum, DEV_ADDR_255};
241     uint32_t length = LENGTH_NUM_255;
242     uint8_t buffer[LENGTH_NUM_255] = {0};
243     std::vector<uint8_t> bufferdata = {buffer, buffer + length};
244     struct UsbCtrlTransfer ctrlparmas = {0b10000000, 6, 0x100, 0, 1000};
245     auto ret = g_usbInterface->ControlTransferRead(dev, ctrlparmas, bufferdata);
246     HDF_LOGI("UsbdTransferTest::UsbdControlTransfer006 %{public}d ControlTransfer=%{public}d", __LINE__, ret);
247     ASSERT_NE(ret, 0);
248 }
249 
250 /**
251  * @tc.name: UsbdControlTransfer007
252  * @tc.desc: Test functions to ControlTransfer(const UsbDev &dev, UsbCtrlTransfer &ctrl, std::vector<uint8_t> &data);
253  * @tc.desc: Positive test: parameters correctly, standard request: get interface
254  * @tc.type: FUNC
255  */
256 HWTEST_F(UsbdTransferTest, UsbdControlTransfer007, TestSize.Level1)
257 {
258     struct UsbDev dev = dev_;
259     int32_t intercafeidex = 0;
260     uint32_t length = LENGTH_NUM_255;
261     uint8_t buffer[LENGTH_NUM_255] = {0};
262     std::vector<uint8_t> bufferdata = {buffer, buffer + length};
263     struct UsbCtrlTransfer ctrlparmas = {0b10000001, 0X0A, 0, intercafeidex, 1000};
264     auto ret = g_usbInterface->ControlTransferRead(dev, ctrlparmas, bufferdata);
265     HDF_LOGI("UsbdTransferTest::UsbdControlTransfer007 %{public}d ControlTransfer=%{public}d", __LINE__, ret);
266     ASSERT_EQ(0, ret);
267 }
268 
269 /**
270  * @tc.name: UsbdControlTransfer008
271  * @tc.desc: Test functions to ControlTransfer(const UsbDev &dev, UsbCtrlTransfer &ctrl, std::vector<uint8_t> &data);
272  * @tc.desc: Negative test: parameters exception, busNum error, standard request: get interface
273  * @tc.type: FUNC
274  */
275 HWTEST_F(UsbdTransferTest, UsbdControlTransfer008, TestSize.Level1)
276 {
277     struct UsbDev dev = {BUS_NUM_255, dev_.devAddr};
278     int32_t intercafeidex = 0;
279     uint32_t length = LENGTH_NUM_255;
280     uint8_t buffer[LENGTH_NUM_255] = {0};
281     std::vector<uint8_t> bufferdata = {buffer, buffer + length};
282     struct UsbCtrlTransfer ctrlparmas = {0b10000001, 0X0A, 0, intercafeidex, 1000};
283     auto ret = g_usbInterface->ControlTransferRead(dev, ctrlparmas, bufferdata);
284     HDF_LOGI("UsbdTransferTest::UsbdControlTransfer008 %{public}d ControlTransfer=%{public}d", __LINE__, ret);
285     ASSERT_NE(ret, 0);
286 }
287 
288 /**
289  * @tc.name: UsbdControlTransfer009
290  * @tc.desc: Test functions to ControlTransfer(const UsbDev &dev, UsbCtrlTransfer &ctrl, std::vector<uint8_t> &data);
291  * @tc.desc: Negative test: parameters exception, devAddr error, standard request: get interface
292  * @tc.type: FUNC
293  */
294 HWTEST_F(UsbdTransferTest, UsbdControlTransfer009, TestSize.Level1)
295 {
296     struct UsbDev dev = {dev_.busNum, DEV_ADDR_255};
297     int32_t intercafeidex = 0;
298     uint32_t length = LENGTH_NUM_255;
299     uint8_t buffer[LENGTH_NUM_255] = {0};
300     std::vector<uint8_t> bufferdata = {buffer, buffer + length};
301     struct UsbCtrlTransfer ctrlparmas = {0b10000001, 0X0A, 0, intercafeidex, 1000};
302     auto ret = g_usbInterface->ControlTransferRead(dev, ctrlparmas, bufferdata);
303     HDF_LOGI("UsbdTransferTest::UsbdControlTransfer009 %{public}d ControlTransfer=%{public}d", __LINE__, ret);
304     ASSERT_NE(ret, 0);
305 }
306 
307 /**
308  * @tc.name: UsbdControlTransfer010
309  * @tc.desc: Test functions to ControlTransfer(const UsbDev &dev, UsbCtrlTransfer &ctrl, std::vector<uint8_t> &data);
310  * Positive test: parameters correctly, standard request: get status(recipient device)
311  * @tc.type: FUNC
312  */
313 HWTEST_F(UsbdTransferTest, UsbdControlTransfer010, TestSize.Level1)
314 {
315     struct UsbDev dev = dev_;
316     uint32_t length = LENGTH_NUM_255;
317     uint8_t buffer[LENGTH_NUM_255] = {0};
318     std::vector<uint8_t> bufferdata = {buffer, buffer + length};
319     struct UsbCtrlTransfer ctrlparmas = {0b10000000, 0, 0, 0, 1000};
320     auto ret = g_usbInterface->ControlTransferRead(dev, ctrlparmas, bufferdata);
321     HDF_LOGI("UsbdTransferTest::UsbdControlTransfer010 %{public}d ControlTransfer=%{public}d", __LINE__, ret);
322     ASSERT_EQ(0, ret);
323 }
324 
325 /**
326  * @tc.name: UsbdControlTransfer011
327  * @tc.desc: Test functions to ControlTransfer(const UsbDev &dev, UsbCtrlTransfer &ctrl, std::vector<uint8_t> &data);
328  * @tc.desc: Negative test: parameters exception, busNum error, standard request: get status(device)
329  * @tc.type: FUNC
330  */
331 HWTEST_F(UsbdTransferTest, UsbdControlTransfer011, TestSize.Level1)
332 {
333     struct UsbDev dev = {BUS_NUM_255, dev_.devAddr};
334     uint32_t length = LENGTH_NUM_255;
335     uint8_t buffer[LENGTH_NUM_255] = {0};
336     std::vector<uint8_t> bufferdata = {buffer, buffer + length};
337     struct UsbCtrlTransfer ctrlparmas = {0b10000000, 0, 0, 0, 1000};
338     auto ret = g_usbInterface->ControlTransferRead(dev, ctrlparmas, bufferdata);
339     HDF_LOGI("UsbdTransferTest::UsbdControlTransfer011 %{public}d ControlTransfer=%{public}d", __LINE__, ret);
340     ASSERT_NE(ret, 0);
341 }
342 
343 /**
344  * @tc.name: UsbdControlTransfer012
345  * @tc.desc: Test functions to ControlTransfer(const UsbDev &dev, UsbCtrlTransfer &ctrl, std::vector<uint8_t> &data);
346  * @tc.desc: Negative test: parameters exception, devAddr error, standard request: get status(device)
347  * @tc.type: FUNC
348  */
349 HWTEST_F(UsbdTransferTest, UsbdControlTransfer012, TestSize.Level1)
350 {
351     struct UsbDev dev = {dev_.busNum, DEV_ADDR_255};
352     uint32_t length = LENGTH_NUM_255;
353     uint8_t buffer[LENGTH_NUM_255] = {0};
354     std::vector<uint8_t> bufferdata = {buffer, buffer + length};
355     struct UsbCtrlTransfer ctrlparmas = {0b10000000, 0, 0, 0, 1000};
356     auto ret = g_usbInterface->ControlTransferRead(dev, ctrlparmas, bufferdata);
357     HDF_LOGI("UsbdTransferTest::UsbdControlTransfer012 %{public}d ControlTransfer=%{public}d", __LINE__, ret);
358     ASSERT_NE(ret, 0);
359 }
360 
361 /**
362  * @tc.name: UsbdControlTransfer013
363  * @tc.desc: Test functions to ControlTransfer(const UsbDev &dev, UsbCtrlTransfer &ctrl, std::vector<uint8_t> &data);
364  * Positive test: parameters correctly, standard request: get status(interface)
365  * @tc.type: FUNC
366  */
367 HWTEST_F(UsbdTransferTest, UsbdControlTransfer013, TestSize.Level1)
368 {
369     struct UsbDev dev = dev_;
370     uint32_t length = LENGTH_NUM_255;
371     uint8_t buffer[LENGTH_NUM_255] = {0};
372     std::vector<uint8_t> bufferdata = {buffer, buffer + length};
373     struct UsbCtrlTransfer ctrlparmas = {0b10000001, 0, 0, 0, 1000};
374     auto ret = g_usbInterface->ControlTransferRead(dev, ctrlparmas, bufferdata);
375     HDF_LOGI("UsbdTransferTest::UsbdControlTransfer013 %{public}d ControlTransfer=%{public}d", __LINE__, ret);
376     ASSERT_EQ(0, ret);
377 }
378 
379 /**
380  * @tc.name: UsbdControlTransfer014
381  * @tc.desc: Test functions to ControlTransfer(const UsbDev &dev, UsbCtrlTransfer &ctrl, std::vector<uint8_t> &data);
382  * @tc.desc: Negative test: parameters exception, busNum error, standard request: get status(interface)
383  * @tc.type: FUNC
384  */
385 HWTEST_F(UsbdTransferTest, UsbdControlTransfer014, TestSize.Level1)
386 {
387     struct UsbDev dev = {BUS_NUM_255, dev_.devAddr};
388     uint32_t length = LENGTH_NUM_255;
389     uint8_t buffer[LENGTH_NUM_255] = {0};
390     std::vector<uint8_t> bufferdata = {buffer, buffer + length};
391     struct UsbCtrlTransfer ctrlparmas = {0b10000001, 0, 0, 0, 1000};
392     auto ret = g_usbInterface->ControlTransferRead(dev, ctrlparmas, bufferdata);
393     HDF_LOGI("UsbdTransferTest::UsbdControlTransfer014 %{public}d ControlTransfer=%{public}d", __LINE__, ret);
394     ASSERT_NE(ret, 0);
395 }
396 
397 /**
398  * @tc.name: UsbdControlTransfer015
399  * @tc.desc: Test functions to ControlTransfer(const UsbDev &dev, UsbCtrlTransfer &ctrl, std::vector<uint8_t> &data);
400  * @tc.desc: Negative test: parameters exception, devAddr error, standard request: get status(interface)
401  * @tc.type: FUNC
402  */
403 HWTEST_F(UsbdTransferTest, UsbdControlTransfer015, TestSize.Level1)
404 {
405     struct UsbDev dev = {dev_.busNum, DEV_ADDR_255};
406     uint32_t length = LENGTH_NUM_255;
407     uint8_t buffer[LENGTH_NUM_255] = {0};
408     std::vector<uint8_t> bufferdata = {buffer, buffer + length};
409     struct UsbCtrlTransfer ctrlparmas = {0b10000001, 0, 0, 0, 1000};
410     auto ret = g_usbInterface->ControlTransferRead(dev, ctrlparmas, bufferdata);
411     HDF_LOGI("UsbdTransferTest::UsbdControlTransfer015 %{public}d ControlTransfer=%{public}d", __LINE__, ret);
412     ASSERT_NE(ret, 0);
413 }
414 
415 /**
416  * @tc.name: UsbdControlTransfer016
417  * @tc.desc: Test functions to ControlTransfer(const UsbDev &dev, UsbCtrlTransfer &ctrl, std::vector<uint8_t> &data);
418  * @tc.desc: Positive test: parameters correctly, standard request: get status(endpoint)
419  * @tc.type: FUNC
420  */
421 HWTEST_F(UsbdTransferTest, UsbdControlTransfer016, TestSize.Level1)
422 {
423     struct UsbDev dev = dev_;
424     uint32_t length = LENGTH_NUM_255;
425     uint8_t buffer[LENGTH_NUM_255] = {0};
426     std::vector<uint8_t> bufferdata = {buffer, buffer + length};
427     struct UsbCtrlTransfer ctrlparmas = {0b10000010, 0, 0, 0, 1000};
428     auto ret = g_usbInterface->ControlTransferRead(dev, ctrlparmas, bufferdata);
429     HDF_LOGI("UsbdTransferTest::UsbdControlTransfer016 %{public}d ControlTransfer=%{public}d", __LINE__, ret);
430     ASSERT_EQ(0, ret);
431 }
432 
433 /**
434  * @tc.name: UsbdControlTransfer017
435  * @tc.desc: Test functions to ControlTransfer(const UsbDev &dev, UsbCtrlTransfer &ctrl, std::vector<uint8_t> &data);
436  * @tc.desc: Negative test: parameters exception, busNum error, standard request: get status(endpoint)
437  * @tc.type: FUNC
438  */
439 HWTEST_F(UsbdTransferTest, UsbdControlTransfer017, TestSize.Level1)
440 {
441     struct UsbDev dev = {BUS_NUM_255, dev_.devAddr};
442     uint32_t length = LENGTH_NUM_255;
443     uint8_t buffer[LENGTH_NUM_255] = {0};
444     std::vector<uint8_t> bufferdata = {buffer, buffer + length};
445     struct UsbCtrlTransfer ctrlparmas = {0b10000010, 0, 0, 0, 1000};
446     auto ret = g_usbInterface->ControlTransferRead(dev, ctrlparmas, bufferdata);
447     HDF_LOGI("UsbdTransferTest::UsbdControlTransfer017 %{public}d ControlTransfer=%{public}d", __LINE__, ret);
448     ASSERT_NE(ret, 0);
449 }
450 
451 /**
452  * @tc.name: UsbdControlTransfer018
453  * @tc.desc: Test functions to ControlTransfer(const UsbDev &dev, UsbCtrlTransfer &ctrl, std::vector<uint8_t> &data);
454  * @tc.desc: Negative test: parameters exception, devAddr error, standard request: get status(endpoint)
455  * @tc.type: FUNC
456  */
457 HWTEST_F(UsbdTransferTest, UsbdControlTransfer018, TestSize.Level1)
458 {
459     struct UsbDev dev = {dev_.busNum, DEV_ADDR_255};
460     uint32_t length = LENGTH_NUM_255;
461     uint8_t buffer[LENGTH_NUM_255] = {0};
462     std::vector<uint8_t> bufferdata = {buffer, buffer + length};
463     struct UsbCtrlTransfer ctrlparmas = {0b10000010, 0, 0, 0, 1000};
464     auto ret = g_usbInterface->ControlTransferRead(dev, ctrlparmas, bufferdata);
465     HDF_LOGI("UsbdTransferTest::UsbdControlTransfer018 %{public}d ControlTransfer=%{public}d", __LINE__, ret);
466     ASSERT_NE(ret, 0);
467 }
468 
469 /**
470  * @tc.name: UsbdControlTransfer019
471  * @tc.desc: Test functions to ControlTransfer(const UsbDev &dev, UsbCtrlTransfer &ctrl, std::vector<uint8_t> &data);
472  * @tc.desc: Positive test: parameters correctly, standard request: sync frame
473  * @tc.type: FUNC
474  */
475 HWTEST_F(UsbdTransferTest, UsbdControlTransfer019, TestSize.Level1)
476 {
477     struct UsbDev dev = dev_;
478     uint32_t length = LENGTH_NUM_255;
479     uint8_t buffer[LENGTH_NUM_255] = {};
480     std::vector<uint8_t> bufferdata = {buffer, buffer + length};
481     struct UsbCtrlTransfer ctrlparmas = {0b10000010, 0X0C, 0, 0, 1000};
482     auto ret = g_usbInterface->ControlTransferRead(dev, ctrlparmas, bufferdata);
483     HDF_LOGI("UsbdTransferTest::UsbdControlTransfer019 %{public}d ControlTransfer=%{public}d", __LINE__, ret);
484     ASSERT_EQ(0, ret);
485 }
486 
487 /**
488  * @tc.name: UsbdControlTransfer020
489  * @tc.desc: Test functions to ControlTransfer(const UsbDev &dev, UsbCtrlTransfer &ctrl, std::vector<uint8_t> &data);
490  * @tc.desc: Negative test: parameters exception, busNum error, standard request: sync frame
491  * @tc.type: FUNC
492  */
493 HWTEST_F(UsbdTransferTest, UsbdControlTransfer020, TestSize.Level1)
494 {
495     struct UsbDev dev = {BUS_NUM_255, dev_.devAddr};
496     uint32_t length = LENGTH_NUM_255;
497     uint8_t buffer[LENGTH_NUM_255] = {};
498     std::vector<uint8_t> bufferdata = {buffer, buffer + length};
499     struct UsbCtrlTransfer ctrlparmas = {0b10000010, 0X0C, 0, 0, 1000};
500     auto ret = g_usbInterface->ControlTransferRead(dev, ctrlparmas, bufferdata);
501     HDF_LOGI("UsbdTransferTest::UsbdControlTransfer020 %{public}d ControlTransfer=%{public}d", __LINE__, ret);
502     ASSERT_NE(ret, 0);
503 }
504 
505 /**
506  * @tc.name: UsbdControlTransfer021
507  * @tc.desc: Test functions to ControlTransfer(const UsbDev &dev, UsbCtrlTransfer &ctrl, std::vector<uint8_t> &data);
508  * @tc.desc: Negative test: parameters exception, devAddr error, standard request: sync frame
509  * @tc.type: FUNC
510  */
511 HWTEST_F(UsbdTransferTest, UsbdControlTransfer021, TestSize.Level1)
512 {
513     struct UsbDev dev = {dev_.busNum, DEV_ADDR_255};
514     uint32_t length = LENGTH_NUM_255;
515     uint8_t buffer[LENGTH_NUM_255] = {};
516     std::vector<uint8_t> bufferdata = {buffer, buffer + length};
517     struct UsbCtrlTransfer ctrlparmas = {0b10000010, 0X0C, 0, 0, 1000};
518     auto ret = g_usbInterface->ControlTransferRead(dev, ctrlparmas, bufferdata);
519     HDF_LOGI("UsbdTransferTest::UsbdControlTransfer021 %{public}d ControlTransfer=%{public}d", __LINE__, ret);
520     ASSERT_NE(ret, 0);
521 }
522 
523 /**
524  * @tc.name: UsbdBulkTransferRead001
525  * @tc.desc: Test functions to BulkTransferRead(const UsbDev &dev, const UsbPipe &pipe, int32_t timeout,
526  * std::vector<uint8_t> &data);
527  * @tc.desc: Positive test: parameters correctly
528  * @tc.type: FUNC
529  */
530 HWTEST_F(UsbdTransferTest, UsbdBulkTransferRead001, TestSize.Level1)
531 {
532     struct UsbDev dev = dev_;
533     uint8_t interfaceId = INTERFACEID_1;
534     uint8_t pointid = POINTID_BULK_IN;
535     auto ret = g_usbInterface->ClaimInterface(dev, interfaceId, 1);
536     HDF_LOGI("UsbdTransferTest::UsbdBulkTransferRead001 %{public}d ClaimInterface=%{public}d", __LINE__, ret);
537     ASSERT_EQ(0, ret);
538     uint8_t buffer[LENGTH_NUM_255] = {0};
539     uint32_t length = LENGTH_NUM_255;
540     struct UsbPipe pipe = {interfaceId, pointid};
541     std::vector<uint8_t> bufferdata = {buffer, buffer + length};
542     ret = g_usbInterface->BulkTransferRead(dev, pipe, 1000, bufferdata);
543     HDF_LOGI("UsbdTransferTest::UsbdBulkTransferRead001 %{public}d UsbdBulkTransferRead=%{public}d", __LINE__, ret);
544     ASSERT_EQ(0, ret);
545 }
546 
547 /**
548  * @tc.name: UsbdBulkTransferRead002
549  * @tc.desc: Test functions to BulkTransferRead(const UsbDev &dev, const UsbPipe &pipe, int32_t timeout,
550  * std::vector<uint8_t> &data);
551  * @tc.desc: Negative test: parameters exception, busNum error
552  * @tc.type: FUNC
553  */
554 HWTEST_F(UsbdTransferTest, UsbdBulkTransferRead002, TestSize.Level1)
555 {
556     struct UsbDev dev = dev_;
557     uint8_t interfaceId = INTERFACEID_1;
558     uint8_t pointid = POINTID_BULK_IN;
559     auto ret = g_usbInterface->ClaimInterface(dev, interfaceId, 1);
560     HDF_LOGI("UsbdTransferTest::UsbdBulkTransferRead002 %{public}d ClaimInterface=%{public}d", __LINE__, ret);
561     ASSERT_EQ(0, ret);
562     dev.busNum = BUS_NUM_222;
563     uint32_t length = 100;
564     uint8_t buffer[100] = {0};
565     struct UsbPipe pipe = {interfaceId, pointid};
566     std::vector<uint8_t> bufferdata = {buffer, buffer + length};
567     ret = g_usbInterface->BulkTransferRead(dev, pipe, 1000, bufferdata);
568     HDF_LOGI("UsbdTransferTest::UsbdBulkTransferRead002 %{public}d UsbdBulkTransferRead=%{public}d", __LINE__, ret);
569     ASSERT_NE(ret, 0);
570 }
571 
572 /**
573  * @tc.name: UsbdBulkTransferRead003
574  * @tc.desc: Test functions to BulkTransferRead(const UsbDev &dev, const UsbPipe &pipe, int32_t timeout,
575  * std::vector<uint8_t> &data);
576  * @tc.desc: Negative test: parameters exception, devAddr error
577  * @tc.type: FUNC
578  */
579 HWTEST_F(UsbdTransferTest, UsbdBulkTransferRead003, TestSize.Level1)
580 {
581     struct UsbDev dev = dev_;
582     uint8_t interfaceId = INTERFACEID_1;
583     uint8_t pointid = POINTID_BULK_IN;
584     auto ret = g_usbInterface->ClaimInterface(dev, interfaceId, 1);
585     HDF_LOGI("UsbdTransferTest::UsbdBulkTransferRead003 %{public}d ClaimInterface=%{public}d", __LINE__, ret);
586     ASSERT_EQ(0, ret);
587     dev.devAddr = DEV_ADDR_244;
588     uint32_t length = 100;
589     uint8_t buffer[100] = {0};
590     struct UsbPipe pipe = {interfaceId, pointid};
591     std::vector<uint8_t> bufferdata = {buffer, buffer + length};
592     ret = g_usbInterface->BulkTransferRead(dev, pipe, 1000, bufferdata);
593     HDF_LOGI("UsbdTransferTest::UsbdBulkTransferRead003 %{public}d UsbdBulkTransferRead=%{public}d", __LINE__, ret);
594     ASSERT_NE(ret, 0);
595 }
596 
597 /**
598  * @tc.name: UsbdBulkTransferRead004
599  * @tc.desc: Test functions to BulkTransferRead(const UsbDev &dev, const UsbPipe &pipe, int32_t timeout,
600  * std::vector<uint8_t> &data);
601  * @tc.desc: Negative test: parameters exception, intfId error
602  * @tc.type: FUNC
603  */
604 HWTEST_F(UsbdTransferTest, UsbdBulkTransferRead004, TestSize.Level1)
605 {
606     struct UsbDev dev = dev_;
607     uint8_t interfaceId = INTERFACEID_1;
608     uint8_t pointid = POINTID_BULK_IN;
609     auto ret = g_usbInterface->ClaimInterface(dev, interfaceId, 1);
610     HDF_LOGI("UsbdTransferTest::UsbdBulkTransferRead004 %{public}d ClaimInterface=%{public}d", __LINE__, ret);
611     ASSERT_EQ(0, ret);
612     uint8_t buffer[100] = {0};
613     uint32_t length = 100;
614     struct UsbPipe pipe = {interfaceId, pointid};
615     pipe.intfId = PIPE_INTERFACEID_244;
616     std::vector<uint8_t> bufferdata = {buffer, buffer + length};
617     ret = g_usbInterface->BulkTransferRead(dev, pipe, 1000, bufferdata);
618     HDF_LOGI("UsbdTransferTest::UsbdBulkTransferRead004 %{public}d UsbdBulkTransferRead=%{public}d", __LINE__, ret);
619     ASSERT_NE(ret, 0);
620 }
621 
622 /**
623  * @tc.name: UsbdBulkTransferRead005
624  * @tc.desc: Test functions to BulkTransferRead(const UsbDev &dev, const UsbPipe &pipe, int32_t timeout,
625  * std::vector<uint8_t> &data);
626  * @tc.desc: Negative test: parameters exception, endpointId error
627  * @tc.type: FUNC
628  */
629 HWTEST_F(UsbdTransferTest, UsbdBulkTransferRead005, TestSize.Level1)
630 {
631     struct UsbDev dev = dev_;
632     uint8_t interfaceId = INTERFACEID_1;
633     uint8_t pointid = POINTID_BULK_IN;
634     auto ret = g_usbInterface->ClaimInterface(dev, interfaceId, 1);
635     HDF_LOGI("UsbdTransferTest::UsbdBulkTransferRead005 %{public}d ClaimInterface=%{public}d", __LINE__, ret);
636     ASSERT_EQ(0, ret);
637     uint32_t length = 100;
638     uint8_t buffer[100] = {};
639     struct UsbPipe pipe = {interfaceId, pointid};
640     pipe.endpointId = PIPE_ENDPOINTID_244;
641     std::vector<uint8_t> bufferdata = {buffer, buffer + length};
642     ret = g_usbInterface->BulkTransferRead(dev, pipe, 1000, bufferdata);
643     HDF_LOGI("UsbdTransferTest::UsbdBulkTransferRead005 %{public}d UsbdBulkTransferRead=%{public}d", __LINE__, ret);
644     ASSERT_NE(ret, 0);
645 }
646 
647 /**
648  * @tc.name: UsbdBulkTransferWrite001
649  * @tc.desc: Test functions to BulkTransferWrite(const UsbDev &dev, const UsbPipe &pipe, int32_t timeout,
650  * std::vector<uint8_t> &data);
651  * @tc.desc: Positive test: parameters correctly
652  * @tc.type: FUNC
653  */
654 HWTEST_F(UsbdTransferTest, UsbdBulkTransferWrite001, TestSize.Level1)
655 {
656     struct UsbDev dev = dev_;
657     uint8_t interfaceId = INTERFACEID_1;
658     uint8_t pointid = POINTID_1;
659     auto ret = g_usbInterface->ClaimInterface(dev, interfaceId, 1);
660     HDF_LOGI("UsbdTransferTest::UsbdBulkTransferWrite001 %{public}d ClaimInterface=%{public}d", __LINE__, ret);
661     ASSERT_EQ(0, ret);
662     uint32_t length = 100;
663     uint8_t buffer[100] = "hello world bulk writ01";
664     struct UsbPipe pipe = {interfaceId, pointid};
665     std::vector<uint8_t> bufferdata = {buffer, buffer + length};
666     ret = g_usbInterface->BulkTransferWrite(dev, pipe, 1000, bufferdata);
667     HDF_LOGI("UsbdTransferTest::UsbdBulkTransferWrite001 %{public}d BulkTransferWrite=%{public}d", __LINE__, ret);
668     ASSERT_EQ(0, ret);
669 }
670 
671 /**
672  * @tc.name: UsbdBulkTransferWrite002
673  * @tc.desc: Test functions to BulkTransferWrite(const UsbDev &dev, const UsbPipe &pipe, int32_t timeout,
674  * std::vector<uint8_t> &data);
675  * @tc.desc: Negative test: parameters exception, busNum error
676  * @tc.type: FUNC
677  */
678 HWTEST_F(UsbdTransferTest, UsbdBulkTransferWrite002, TestSize.Level1)
679 {
680     struct UsbDev dev = dev_;
681     uint8_t interfaceId = INTERFACEID_1;
682     uint8_t pointid = POINTID_1;
683     auto ret = g_usbInterface->ClaimInterface(dev, interfaceId, 1);
684     HDF_LOGI("UsbdTransferTest::UsbdBulkTransferWrite002 %{public}d ClaimInterface=%{public}d", __LINE__, ret);
685     ASSERT_EQ(0, ret);
686     struct UsbPipe pipe = {interfaceId, pointid};
687     dev.busNum = BUS_NUM_99;
688     uint32_t length = 100;
689     uint8_t buffer[100] = "hello world bulk writ02";
690     std::vector<uint8_t> bufferdata = {buffer, buffer + length};
691     ret = g_usbInterface->BulkTransferWrite(dev, pipe, 1000, bufferdata);
692     HDF_LOGI("UsbdTransferTest::UsbdBulkTransferWrite002 %{public}d BulkTransferWrite=%{public}d", __LINE__, ret);
693     ASSERT_NE(ret, 0);
694 }
695 
696 /**
697  * @tc.name: UsbdBulkTransferWrite003
698  * @tc.desc: Test functions to BulkTransferWrite(const UsbDev &dev, const UsbPipe &pipe, int32_t timeout,
699  * std::vector<uint8_t> &data);
700  * @tc.desc: Negative test: parameters exception, devAddr error
701  * @tc.type: FUNC
702  */
703 HWTEST_F(UsbdTransferTest, UsbdBulkTransferWrite003, TestSize.Level1)
704 {
705     struct UsbDev dev = dev_;
706     uint8_t interfaceId = INTERFACEID_1;
707     uint8_t pointid = POINTID_1;
708     auto ret = g_usbInterface->ClaimInterface(dev, interfaceId, 1);
709     HDF_LOGI("UsbdTransferTest::UsbdBulkTransferWrite003 %{public}d ClaimInterface=%{public}d", __LINE__, ret);
710     ASSERT_EQ(0, ret);
711     dev.devAddr = DEV_ADDR_244;
712     uint32_t length = 100;
713     uint8_t buffer[100] = "hello world bulk writ03";
714     struct UsbPipe pipe = {interfaceId, pointid};
715     std::vector<uint8_t> bufferdata = {buffer, buffer + length};
716     ret = g_usbInterface->BulkTransferWrite(dev, pipe, 1000, bufferdata);
717     HDF_LOGI("UsbdTransferTest::UsbdBulkTransferWrite003 %{public}d BulkTransferWrite=%{public}d", __LINE__, ret);
718     ASSERT_NE(ret, 0);
719 }
720 
721 /**
722  * @tc.name: UsbdBulkTransferWrite004
723  * @tc.desc: Test functions to BulkTransferWrite(const UsbDev &dev, const UsbPipe &pipe, int32_t timeout,
724  * std::vector<uint8_t> &data);
725  * @tc.desc: Negative test: parameters exception, intfId error
726  * @tc.type: FUNC
727  */
728 HWTEST_F(UsbdTransferTest, UsbdBulkTransferWrite004, TestSize.Level1)
729 {
730     struct UsbDev dev = dev_;
731     uint8_t interfaceId = INTERFACEID_1;
732     uint8_t pointid = POINTID_1;
733     auto ret = g_usbInterface->ClaimInterface(dev, interfaceId, 1);
734     HDF_LOGI("UsbdTransferTest::UsbdBulkTransferWrite004 %{public}d ClaimInterface=%{public}d", __LINE__, ret);
735     ASSERT_EQ(0, ret);
736     struct UsbPipe pipe = {interfaceId, pointid};
737     pipe.intfId = PIPE_INTERFACEID_255;
738     uint32_t length = 100;
739     uint8_t buffer[100] = "hello world bulk writ04";
740     std::vector<uint8_t> bufferdata = {buffer, buffer + length};
741     ret = g_usbInterface->BulkTransferWrite(dev, pipe, 1000, bufferdata);
742     HDF_LOGI("UsbdTransferTest::UsbdBulkTransferWrite004 %{public}d BulkTransferWrite=%{public}d", __LINE__, ret);
743     ASSERT_NE(ret, 0);
744 }
745 
746 /**
747  * @tc.name: UsbdBulkTransferWrite005
748  * @tc.desc: Test functions to BulkTransferWrite(const UsbDev &dev, const UsbPipe &pipe, int32_t timeout,
749  * std::vector<uint8_t> &data);
750  * @tc.desc: Negative test: parameters exception, endpointId error
751  * @tc.type: FUNC
752  */
753 HWTEST_F(UsbdTransferTest, UsbdBulkTransferWrite005, TestSize.Level1)
754 {
755     struct UsbDev dev = dev_;
756     uint8_t interfaceId = INTERFACEID_1;
757     uint8_t pointid = POINTID_1;
758     auto ret = g_usbInterface->ClaimInterface(dev, interfaceId, 1);
759     HDF_LOGI("UsbdTransferTest::UsbdBulkTransferWrite005 %{public}d ClaimInterface=%{public}d", __LINE__, ret);
760     ASSERT_EQ(0, ret);
761     struct UsbPipe pipe = {interfaceId, pointid};
762     pipe.endpointId = PIPE_ENDPOINTID_255;
763     uint32_t length = 100;
764     uint8_t buffer[100] = "hello world bulk writ05";
765     std::vector<uint8_t> bufferdata = {buffer, buffer + length};
766     ret = g_usbInterface->BulkTransferWrite(dev, pipe, 1000, bufferdata);
767     HDF_LOGI("UsbdTransferTest::UsbdBulkTransferWrite005 %{public}d BulkTransferWrite=%{public}d", __LINE__, ret);
768     ASSERT_NE(ret, 0);
769 }
770 
771 /**
772  * @tc.name: UsbdBulkTransferWrite006
773  * @tc.desc: Test functions to BulkTransferWrite(const UsbDev &dev, const UsbPipe &pipe, int32_t timeout,
774  * std::vector<uint8_t> &data);
775  * @tc.desc: Negative test: parameters exception, busNum && devAddr error
776  * @tc.type: FUNC
777  */
778 HWTEST_F(UsbdTransferTest, UsbdBulkTransferWrite006, TestSize.Level1)
779 {
780     struct UsbDev dev = dev_;
781     uint8_t interfaceId = INTERFACEID_1;
782     uint8_t pointid = POINTID_1;
783     auto ret = g_usbInterface->ClaimInterface(dev, interfaceId, 1);
784     HDF_LOGI("UsbdTransferTest::UsbdBulkTransferWrite006 %{public}d ClaimInterface=%{public}d", __LINE__, ret);
785     ASSERT_EQ(0, ret);
786     struct UsbPipe pipe = {interfaceId, pointid};
787     dev.busNum = BUS_NUM_99;
788     dev.devAddr = DEV_ADDR_99;
789     uint32_t length = 100;
790     uint8_t buffer[100] = "hello world bulk writ06";
791     std::vector<uint8_t> bufferdata = {buffer, buffer + length};
792     ret = g_usbInterface->BulkTransferWrite(dev, pipe, 1000, bufferdata);
793     HDF_LOGI("UsbdTransferTest::UsbdBulkTransferWrite006 %{public}d BulkTransferWrite=%{public}d", __LINE__, ret);
794     ASSERT_NE(ret, 0);
795 }
796 
797 /**
798  * @tc.name: UsbdBulkTransferWrite007
799  * @tc.desc: Test functions to BulkTransferWrite(const UsbDev &dev, const UsbPipe &pipe, int32_t timeout,
800  * std::vector<uint8_t> &data);
801  * @tc.desc: Negative test: parameters exception, ClaimInterface failed first
802  * @tc.type: FUNC
803  */
804 HWTEST_F(UsbdTransferTest, UsbdBulkTransferWrite007, TestSize.Level1)
805 {
806     struct UsbDev dev = dev_;
807     uint8_t interfaceId = INTERFACEID_1;
808     uint8_t pointid = POINTID_99;
809     auto ret = g_usbInterface->ClaimInterface(dev, interfaceId, 1);
810     HDF_LOGI("UsbdTransferTest::UsbdBulkTransferWrite007 %{public}d ClaimInterface=%{public}d", __LINE__, ret);
811     ASSERT_EQ(0, ret);
812     struct UsbPipe pipe = {interfaceId, pointid};
813     uint32_t length = 100;
814     uint8_t buffer[100] = "hello world bulk writ07";
815     std::vector<uint8_t> bufferdata = {buffer, buffer + length};
816     ret = g_usbInterface->BulkTransferWrite(dev, pipe, 1000, bufferdata);
817     HDF_LOGI("UsbdTransferTest::UsbdBulkTransferWrite007 %{public}d BulkTransferWrite=%{public}d", __LINE__, ret);
818     ASSERT_NE(ret, 0);
819 }
820 
821 /**
822  * @tc.name: UsbdBulkTransferWrite008
823  * @tc.desc: Test functions to BulkTransferWrite(const UsbDev &dev, const UsbPipe &pipe, int32_t timeout,
824  * std::vector<uint8_t> &data);
825  * @tc.desc: Positive test: parameters correctly, different in timeout
826  * @tc.type: FUNC
827  */
828 HWTEST_F(UsbdTransferTest, UsbdBulkTransferWrite008, TestSize.Level1)
829 {
830     struct UsbDev dev = dev_;
831     uint8_t interfaceId = INTERFACEID_1;
832     uint8_t pointid = POINTID_1;
833     auto ret = g_usbInterface->ClaimInterface(dev, interfaceId, 1);
834     HDF_LOGI("UsbdTransferTest::UsbdBulkTransferWrite008 %{public}d ClaimInterface=%{public}d", __LINE__, ret);
835     ASSERT_EQ(0, ret);
836     struct UsbPipe pipe = {interfaceId, pointid};
837     uint32_t length = 100;
838     uint8_t buffer[100] = "hello world bulk writ08";
839     std::vector<uint8_t> bufferdata = {buffer, buffer + length};
840     ret = g_usbInterface->BulkTransferWrite(dev, pipe, -1, bufferdata);
841     HDF_LOGI("UsbdTransferTest::UsbdBulkTransferWrite008 %{public}d BulkTransferWrite=%{public}d", __LINE__, ret);
842     ASSERT_EQ(0, ret);
843 }
844 
845 /**
846  * @tc.name: InterruptTransferRead001
847  * @tc.desc: Test functions to InterruptTransferRead(const UsbDev &dev, const UsbPipe &pipe, int32_t timeout,
848  * std::vector<uint8_t> &data);
849  * @tc.desc: Positive test: parameters correctly
850  * @tc.type: FUNC
851  */
852 HWTEST_F(UsbdTransferTest, UsbdInterruptTransferRead001, TestSize.Level1)
853 {
854     struct UsbDev dev = dev_;
855     uint8_t interfaceId = INTERFACEID_1;
856     uint8_t pointid = POINTID_129;
857     auto ret = g_usbInterface->ClaimInterface(dev, interfaceId, 1);
858     HDF_LOGI("UsbdTransferTest::UsbdInterruptTransferRead001 %{public}d ClaimInterface=%{public}d", __LINE__, ret);
859     ASSERT_EQ(0, ret);
860     uint8_t buffer[LENGTH_NUM_255] = {0};
861     uint32_t length = LENGTH_NUM_255;
862     struct UsbPipe pipe = {interfaceId, pointid};
863     std::vector<uint8_t> bufferdata = {buffer, buffer + length};
864     ret = g_usbInterface->InterruptTransferRead(dev, pipe, 1000, bufferdata);
865     HDF_LOGI("UsbdTransferTest::UsbdInterruptTransferRead001 %{public}d UsbdInterruptTransferRead=%{public}d", __LINE__,
866         ret);
867     ASSERT_EQ(0, ret);
868 }
869 
870 /**
871  * @tc.name: UsbdInterruptTransferRead002
872  * @tc.desc: Test functions to InterruptTransferRead(const UsbDev &dev, const UsbPipe &pipe, int32_t timeout,
873  * std::vector<uint8_t> &data);
874  * @tc.desc: Negative test: parameters exception, busNum error
875  * @tc.type: FUNC
876  */
877 HWTEST_F(UsbdTransferTest, UsbdInterruptTransferRead002, TestSize.Level1)
878 {
879     struct UsbDev dev = dev_;
880     uint8_t interfaceId = INTERFACEID_1;
881     uint8_t pointid = POINTID_129;
882     auto ret = g_usbInterface->ClaimInterface(dev, interfaceId, 1);
883     HDF_LOGI("UsbdTransferTest::UsbdInterruptTransferRead002 %{public}d ClaimInterface=%{public}d", __LINE__, ret);
884     ASSERT_EQ(0, ret);
885     dev.busNum = BUS_NUM_222;
886     uint32_t length = 100;
887     uint8_t buffer[100] = {0};
888     struct UsbPipe pipe = {interfaceId, pointid};
889     std::vector<uint8_t> bufferdata = {buffer, buffer + length};
890     ret = g_usbInterface->InterruptTransferRead(dev, pipe, 1000, bufferdata);
891     HDF_LOGI("UsbdTransferTest::UsbdInterruptTransferRead002 %{public}d UsbdInterruptTransferRead=%{public}d", __LINE__,
892         ret);
893     ASSERT_NE(ret, 0);
894 }
895 
896 /**
897  * @tc.name: UsbdInterruptTransferRead003
898  * @tc.desc: Test functions to InterruptTransferRead(const UsbDev &dev, const UsbPipe &pipe, int32_t timeout,
899  * std::vector<uint8_t> &data);
900  * @tc.desc: Negative test: parameters exception, devAddr error
901  * @tc.type: FUNC
902  */
903 HWTEST_F(UsbdTransferTest, UsbdInterruptTransferRead003, TestSize.Level1)
904 {
905     struct UsbDev dev = dev_;
906     uint8_t interfaceId = INTERFACEID_1;
907     uint8_t pointid = POINTID_129;
908     auto ret = g_usbInterface->ClaimInterface(dev, interfaceId, 1);
909     HDF_LOGI("UsbdTransferTest::UsbdInterruptTransferRead003 %{public}d ClaimInterface=%{public}d", __LINE__, ret);
910     ASSERT_EQ(0, ret);
911     dev.devAddr = DEV_ADDR_244;
912     uint32_t length = 100;
913     uint8_t buffer[100] = {0};
914     struct UsbPipe pipe = {interfaceId, pointid};
915     std::vector<uint8_t> bufferdata = {buffer, buffer + length};
916     ret = g_usbInterface->InterruptTransferRead(dev, pipe, 1000, bufferdata);
917     ASSERT_NE(ret, 0);
918 }
919 
920 /**
921  * @tc.name: UsbdInterruptTransferRead004
922  * @tc.desc: Test functions to InterruptTransferRead(const UsbDev &dev, const UsbPipe &pipe, int32_t timeout,
923  * std::vector<uint8_t> &data);
924  * @tc.desc: Negative test: parameters exception, intfId error
925  * @tc.type: FUNC
926  */
927 HWTEST_F(UsbdTransferTest, UsbdInterruptTransferRead004, TestSize.Level1)
928 {
929     struct UsbDev dev = dev_;
930     uint8_t interfaceId = INTERFACEID_1;
931     uint8_t pointid = POINTID_129;
932     auto ret = g_usbInterface->ClaimInterface(dev, interfaceId, 1);
933     HDF_LOGI("UsbdTransferTest::UsbdInterruptTransferRead004 %{public}d ClaimInterface=%{public}d", __LINE__, ret);
934     ASSERT_EQ(0, ret);
935     uint8_t buffer[100] = {0};
936     uint32_t length = 100;
937     struct UsbPipe pipe = {interfaceId, pointid};
938     pipe.intfId = PIPE_INTERFACEID_244;
939     std::vector<uint8_t> bufferdata = {buffer, buffer + length};
940     ret = g_usbInterface->InterruptTransferRead(dev, pipe, 1000, bufferdata);
941     HDF_LOGI("UsbdTransferTest::UsbdInterruptTransferRead004 %{public}d UsbdInterruptTransferRead=%{public}d", __LINE__,
942         ret);
943     ASSERT_NE(ret, 0);
944 }
945 
946 /**
947  * @tc.name: UsbdInterruptTransferRead005
948  * @tc.desc: Test functions to InterruptTransferRead(const UsbDev &dev, const UsbPipe &pipe, int32_t timeout,
949  * std::vector<uint8_t> &data);
950  * @tc.desc: Negative test: parameters exception, endpointId error
951  * @tc.type: FUNC
952  */
953 HWTEST_F(UsbdTransferTest, UsbdInterruptTransferRead005, TestSize.Level1)
954 {
955     struct UsbDev dev = dev_;
956     uint8_t interfaceId = INTERFACEID_1;
957     uint8_t pointid = POINTID_129;
958     auto ret = g_usbInterface->ClaimInterface(dev, interfaceId, 1);
959     HDF_LOGI("UsbdTransferTest::UsbdInterruptTransferRead005 %{public}d ClaimInterface=%{public}d", __LINE__, ret);
960     ASSERT_EQ(0, ret);
961     uint32_t length = 100;
962     uint8_t buffer[100] = {};
963     struct UsbPipe pipe = {interfaceId, pointid};
964     pipe.endpointId = PIPE_ENDPOINTID_244;
965     std::vector<uint8_t> bufferdata = {buffer, buffer + length};
966     ret = g_usbInterface->InterruptTransferRead(dev, pipe, 1000, bufferdata);
967     HDF_LOGI("UsbdTransferTest::UsbdInterruptTransferRead005 %{public}d UsbdInterruptTransferRead=%{public}d", __LINE__,
968         ret);
969     ASSERT_NE(ret, 0);
970 }
971 
972 /**
973  * @tc.name: UsbdInterruptTransferWrite001
974  * @tc.desc: Test functions to InterruptTransferWrite(const UsbDev &dev, const UsbPipe &pipe, int32_t timeout,
975  * std::vector<uint8_t> &data);
976  * @tc.desc: Positive test: parameters correctly
977  * @tc.type: FUNC
978  */
979 HWTEST_F(UsbdTransferTest, UsbdInterruptTransferWrite001, TestSize.Level1)
980 {
981     struct UsbDev dev = dev_;
982     uint8_t interfaceId = INTERFACEID_1;
983     uint8_t pointid = POINTID_1;
984     auto ret = g_usbInterface->ClaimInterface(dev, interfaceId, 1);
985     HDF_LOGI("UsbdTransferTest::UsbdInterruptTransferWrite001 %{public}d ClaimInterface=%{public}d", __LINE__, ret);
986     ASSERT_EQ(0, ret);
987     uint32_t length = 100;
988     uint8_t buffer[100] = "hello world Interrupt writ01";
989     struct UsbPipe pipe = {interfaceId, pointid};
990     std::vector<uint8_t> bufferdata = {buffer, buffer + length};
991     ret = g_usbInterface->InterruptTransferWrite(dev, pipe, 1000, bufferdata);
992     HDF_LOGI(
993         "UsbdTransferTest::UsbdInterruptTransferWrite001 %{public}d InterruptTransferWrite=%{public}d", __LINE__, ret);
994     ASSERT_EQ(0, ret);
995 }
996 
997 /**
998  * @tc.name: UsbdInterruptTransferWrite002
999  * @tc.desc: Test functions to InterruptTransferWrite(const UsbDev &dev, const UsbPipe &pipe, int32_t timeout,
1000  * std::vector<uint8_t> &data);
1001  * @tc.desc: Negative test: parameters exception, busNum error
1002  * @tc.type: FUNC
1003  */
1004 HWTEST_F(UsbdTransferTest, UsbdInterruptTransferWrite002, TestSize.Level1)
1005 {
1006     struct UsbDev dev = dev_;
1007     uint8_t interfaceId = INTERFACEID_1;
1008     uint8_t pointid = POINTID_1;
1009     auto ret = g_usbInterface->ClaimInterface(dev, interfaceId, 1);
1010     HDF_LOGI("UsbdTransferTest::UsbdInterruptTransferWrite002 %{public}d ClaimInterface=%{public}d", __LINE__, ret);
1011     ASSERT_EQ(0, ret);
1012     struct UsbPipe pipe = {interfaceId, pointid};
1013     dev.busNum = BUS_NUM_99;
1014     uint32_t length = 100;
1015     uint8_t buffer[100] = "hello world Interrupt writ02";
1016     std::vector<uint8_t> bufferdata = {buffer, buffer + length};
1017     ret = g_usbInterface->InterruptTransferWrite(dev, pipe, 1000, bufferdata);
1018     HDF_LOGI(
1019         "UsbdTransferTest::UsbdInterruptTransferWrite002 %{public}d InterruptTransferWrite=%{public}d", __LINE__, ret);
1020     ASSERT_NE(ret, 0);
1021 }
1022 
1023 /**
1024  * @tc.name: UsbdInterruptTransferWrite003
1025  * @tc.desc: Test functions to InterruptTransferWrite(const UsbDev &dev, const UsbPipe &pipe, int32_t timeout,
1026  * std::vector<uint8_t> &data);
1027  * @tc.desc: Negative test: parameters exception, devAddr error
1028  * @tc.type: FUNC
1029  */
1030 HWTEST_F(UsbdTransferTest, UsbdInterruptTransferWrite003, TestSize.Level1)
1031 {
1032     struct UsbDev dev = dev_;
1033     uint8_t interfaceId = INTERFACEID_1;
1034     uint8_t pointid = POINTID_1;
1035     auto ret = g_usbInterface->ClaimInterface(dev, interfaceId, 1);
1036     HDF_LOGI("UsbdTransferTest::UsbdInterruptTransferWrite003 %{public}d ClaimInterface=%{public}d", __LINE__, ret);
1037     ASSERT_EQ(0, ret);
1038     dev.devAddr = DEV_ADDR_244;
1039     uint32_t length = 100;
1040     uint8_t buffer[100] = "hello world Interrupt writ03";
1041     struct UsbPipe pipe = {interfaceId, pointid};
1042     std::vector<uint8_t> bufferdata = {buffer, buffer + length};
1043     ret = g_usbInterface->InterruptTransferWrite(dev, pipe, 1000, bufferdata);
1044     HDF_LOGI(
1045         "UsbdTransferTest::UsbdInterruptTransferWrite003 %{public}d InterruptTransferWrite=%{public}d", __LINE__, ret);
1046     ASSERT_NE(ret, 0);
1047 }
1048 
1049 /**
1050  * @tc.name: UsbdInterruptTransferWrite004
1051  * @tc.desc: Test functions to InterruptTransferWrite(const UsbDev &dev, const UsbPipe &pipe, int32_t timeout,
1052  * std::vector<uint8_t> &data);
1053  * @tc.desc: Negative test: parameters exception, intfId error
1054  * @tc.type: FUNC
1055  */
1056 HWTEST_F(UsbdTransferTest, UsbdInterruptTransferWrite004, TestSize.Level1)
1057 {
1058     struct UsbDev dev = dev_;
1059     uint8_t interfaceId = INTERFACEID_1;
1060     uint8_t pointid = POINTID_1;
1061     auto ret = g_usbInterface->ClaimInterface(dev, interfaceId, 1);
1062     HDF_LOGI("UsbdTransferTest::UsbdInterruptTransferWrite004 %{public}d ClaimInterface=%{public}d", __LINE__, ret);
1063     ASSERT_EQ(0, ret);
1064     struct UsbPipe pipe = {interfaceId, pointid};
1065     pipe.intfId = PIPE_INTERFACEID_255;
1066     uint32_t length = 100;
1067     uint8_t buffer[100] = "hello world Interrupt writ04";
1068     std::vector<uint8_t> bufferdata = {buffer, buffer + length};
1069     ret = g_usbInterface->InterruptTransferWrite(dev, pipe, 1000, bufferdata);
1070     HDF_LOGI(
1071         "UsbdTransferTest::UsbdInterruptTransferWrite004 %{public}d InterruptTransferWrite=%{public}d", __LINE__, ret);
1072     ASSERT_NE(ret, 0);
1073 }
1074 
1075 /**
1076  * @tc.name: UsbdInterruptTransferWrite005
1077  * @tc.desc: Test functions to InterruptTransferWrite(const UsbDev &dev, const UsbPipe &pipe, int32_t timeout,
1078  * std::vector<uint8_t> &data);
1079  * @tc.desc: Negative test: parameters exception, endpointId error
1080  * @tc.type: FUNC
1081  */
1082 HWTEST_F(UsbdTransferTest, UsbdInterruptTransferWrite005, TestSize.Level1)
1083 {
1084     struct UsbDev dev = dev_;
1085     uint8_t interfaceId = INTERFACEID_1;
1086     uint8_t pointid = POINTID_1;
1087     auto ret = g_usbInterface->ClaimInterface(dev, interfaceId, 1);
1088     HDF_LOGI("UsbdTransferTest::UsbdInterruptTransferWrite005 %{public}d ClaimInterface=%{public}d", __LINE__, ret);
1089     ASSERT_EQ(0, ret);
1090     struct UsbPipe pipe = {interfaceId, pointid};
1091     pipe.endpointId = PIPE_ENDPOINTID_255;
1092     uint32_t length = 100;
1093     uint8_t buffer[100] = "hello world Interrupt writ05";
1094     std::vector<uint8_t> bufferdata = {buffer, buffer + length};
1095     ret = g_usbInterface->InterruptTransferWrite(dev, pipe, 1000, bufferdata);
1096     HDF_LOGI(
1097         "UsbdTransferTest::UsbdInterruptTransferWrite005 %{public}d InterruptTransferWrite=%{public}d", __LINE__, ret);
1098     ASSERT_NE(ret, 0);
1099 }
1100 
1101 /**
1102  * @tc.name: UsbdInterruptTransferWrite006
1103  * @tc.desc: Test functions to InterruptTransferWrite(const UsbDev &dev, const UsbPipe &pipe, int32_t timeout,
1104  * std::vector<uint8_t> &data);
1105  * @tc.desc: Negative test: parameters exception, busNum && devAddr error
1106  * @tc.type: FUNC
1107  */
1108 HWTEST_F(UsbdTransferTest, UsbdInterruptTransferWrite006, TestSize.Level1)
1109 {
1110     struct UsbDev dev = dev_;
1111     uint8_t interfaceId = INTERFACEID_1;
1112     uint8_t pointid = POINTID_1;
1113     auto ret = g_usbInterface->ClaimInterface(dev, interfaceId, 1);
1114     HDF_LOGI("UsbdTransferTest::UsbdInterruptTransferWrite006 %{public}d ClaimInterface=%{public}d", __LINE__, ret);
1115     ASSERT_EQ(0, ret);
1116     struct UsbPipe pipe = {interfaceId, pointid};
1117     dev.busNum = BUS_NUM_99;
1118     dev.devAddr = DEV_ADDR_99;
1119     uint32_t length = 100;
1120     uint8_t buffer[100] = "hello world Interrupt writ06";
1121     std::vector<uint8_t> bufferdata = {buffer, buffer + length};
1122     ret = g_usbInterface->InterruptTransferWrite(dev, pipe, 1000, bufferdata);
1123     HDF_LOGI(
1124         "UsbdTransferTest::UsbdInterruptTransferWrite006 %{public}d InterruptTransferWrite=%{public}d", __LINE__, ret);
1125     ASSERT_NE(ret, 0);
1126 }
1127 
1128 /**
1129  * @tc.name: UsbdInterruptTransferWrite007
1130  * @tc.desc: Test functions to InterruptTransferWrite(const UsbDev &dev, const UsbPipe &pipe, int32_t timeout,
1131  * std::vector<uint8_t> &data);
1132  * @tc.desc: Negative test: parameters exception, ClaimInterface failed first
1133  * @tc.type: FUNC
1134  */
1135 HWTEST_F(UsbdTransferTest, UsbdInterruptTransferWrite007, TestSize.Level1)
1136 {
1137     struct UsbDev dev = dev_;
1138     uint8_t interfaceId = INTERFACEID_1;
1139     uint8_t pointid = POINTID_99;
1140     auto ret = g_usbInterface->ClaimInterface(dev, interfaceId, 1);
1141     HDF_LOGI("UsbdTransferTest::UsbdInterruptTransferWrite007 %{public}d ClaimInterface=%{public}d", __LINE__, ret);
1142     ASSERT_EQ(0, ret);
1143     struct UsbPipe pipe = {interfaceId, pointid};
1144     uint32_t length = 100;
1145     uint8_t buffer[100] = "hello world Interrupt writ07";
1146     std::vector<uint8_t> bufferdata = {buffer, buffer + length};
1147     ret = g_usbInterface->InterruptTransferWrite(dev, pipe, 1000, bufferdata);
1148     HDF_LOGI(
1149         "UsbdTransferTest::UsbdInterruptTransferWrite007 %{public}d InterruptTransferWrite=%{public}d", __LINE__, ret);
1150     ASSERT_NE(ret, 0);
1151 }
1152 
1153 /**
1154  * @tc.name: UsbdInterruptTransferWrite008
1155  * @tc.desc: Test functions to InterruptTransferWrite(const UsbDev &dev, const UsbPipe &pipe, int32_t timeout,
1156  * std::vector<uint8_t> &data);
1157  * Positive test: parameters correctly, different in timeout
1158  * @tc.type: FUNC
1159  */
1160 HWTEST_F(UsbdTransferTest, UsbdInterruptTransferWrite008, TestSize.Level1)
1161 {
1162     struct UsbDev dev = dev_;
1163     uint8_t interfaceId = INTERFACEID_1;
1164     uint8_t pointid = POINTID_1;
1165     auto ret = g_usbInterface->ClaimInterface(dev, interfaceId, 1);
1166     HDF_LOGI("UsbdTransferTest::UsbdInterruptTransferWrite008 %{public}d ClaimInterface=%{public}d", __LINE__, ret);
1167     ASSERT_EQ(0, ret);
1168     struct UsbPipe pipe = {interfaceId, pointid};
1169     uint32_t length = 100;
1170     uint8_t buffer[100] = "hello world Interrupt writ08";
1171     std::vector<uint8_t> bufferdata = {buffer, buffer + length};
1172     ret = g_usbInterface->InterruptTransferWrite(dev, pipe, -1, bufferdata);
1173     HDF_LOGI(
1174         "UsbdTransferTest::UsbdInterruptTransferWrite008 %{public}d InterruptTransferWrite=%{public}d", __LINE__, ret);
1175     ASSERT_EQ(0, ret);
1176 }
1177 
1178 /**
1179  * @tc.name: UsbdIsoTransferRead001
1180  * @tc.desc: Test functions to IsoTransferRead(const UsbDev &dev, const UsbPipe &pipe, int32_t timeout,
1181  * std::vector<uint8_t> &data);
1182  * @tc.desc: Positive test: parameters correctly
1183  * @tc.type: FUNC
1184  */
1185 HWTEST_F(UsbdTransferTest, UsbdIsoTransferRead001, TestSize.Level1)
1186 {
1187     struct UsbDev dev = dev_;
1188     uint8_t interfaceId = INTERFACEID_1;
1189     uint8_t pointid = POINTID_129;
1190     auto ret = g_usbInterface->ClaimInterface(dev, interfaceId, 1);
1191     HDF_LOGI("UsbdTransferTest::UsbdIsoTransferRead001 %{public}d ClaimInterface=%{public}d", __LINE__, ret);
1192     ASSERT_EQ(0, ret);
1193     uint8_t buffer[LENGTH_NUM_255] = {0};
1194     uint32_t length = LENGTH_NUM_255;
1195     struct UsbPipe pipe = {interfaceId, pointid};
1196     std::vector<uint8_t> bufferdata = {buffer, buffer + length};
1197     ret = g_usbInterface->IsoTransferRead(dev, pipe, 1000, bufferdata);
1198     HDF_LOGI("UsbdTransferTest::UsbdIsoTransferRead001 %{public}d UsbdIsoTransferRead=%{public}d", __LINE__, ret);
1199     ASSERT_EQ(0, ret);
1200 }
1201 
1202 /**
1203  * @tc.name: UsbdIsoTransferRead002
1204  * @tc.desc: Test functions to IsoTransferRead(const UsbDev &dev, const UsbPipe &pipe, int32_t timeout,
1205  * std::vector<uint8_t> &data);
1206  * @tc.desc: Negative test: parameters exception, busNum error
1207  * @tc.type: FUNC
1208  */
1209 HWTEST_F(UsbdTransferTest, UsbdIsoTransferRead002, TestSize.Level1)
1210 {
1211     struct UsbDev dev = dev_;
1212     uint8_t interfaceId = INTERFACEID_1;
1213     uint8_t pointid = POINTID_129;
1214     HDF_LOGI("UsbdTransferTest::UsbdIsoTransferRead002 %{public}d interfaceId=%{public}d", __LINE__, interfaceId);
1215     auto ret = g_usbInterface->ClaimInterface(dev, interfaceId, 1);
1216     HDF_LOGI("UsbdTransferTest::UsbdIsoTransferRead002 %{public}d ClaimInterface=%{public}d", __LINE__, ret);
1217     ASSERT_EQ(0, ret);
1218     dev.busNum = BUS_NUM_222;
1219     uint32_t length = 100;
1220     uint8_t buffer[100] = {0};
1221     struct UsbPipe pipe = {interfaceId, pointid};
1222     std::vector<uint8_t> bufferdata = {buffer, buffer + length};
1223     ret = g_usbInterface->IsoTransferRead(dev, pipe, 1000, bufferdata);
1224     HDF_LOGI("UsbdTransferTest::UsbdIsoTransferRead002 %{public}d UsbdIsoTransferRead=%{public}d", __LINE__, ret);
1225     ASSERT_NE(ret, 0);
1226 }
1227 
1228 /**
1229  * @tc.name: UsbdIsoTransferRead003
1230  * @tc.desc: Test functions to IsoTransferRead(const UsbDev &dev, const UsbPipe &pipe, int32_t timeout,
1231  * std::vector<uint8_t> &data);
1232  * @tc.desc: Negative test: parameters exception, devAddr error
1233  * @tc.type: FUNC
1234  */
1235 HWTEST_F(UsbdTransferTest, UsbdIsoTransferRead003, TestSize.Level1)
1236 {
1237     struct UsbDev dev = dev_;
1238     uint8_t interfaceId = INTERFACEID_1;
1239     uint8_t pointid = POINTID_129;
1240     auto ret = g_usbInterface->ClaimInterface(dev, interfaceId, 1);
1241     HDF_LOGI("UsbdTransferTest::UsbdIsoTransferRead003 %{public}d ClaimInterface=%{public}d", __LINE__, ret);
1242     ASSERT_EQ(0, ret);
1243     dev.devAddr = DEV_ADDR_244;
1244     uint32_t length = 100;
1245     uint8_t buffer[100] = {0};
1246     struct UsbPipe pipe = {interfaceId, pointid};
1247     std::vector<uint8_t> bufferdata = {buffer, buffer + length};
1248     ret = g_usbInterface->IsoTransferRead(dev, pipe, 1000, bufferdata);
1249     HDF_LOGI("UsbdTransferTest::UsbdIsoTransferRead003 %{public}d UsbdIsoTransferRead=%{public}d", __LINE__, ret);
1250     ASSERT_NE(ret, 0);
1251 }
1252 
1253 /**
1254  * @tc.name: UsbdIsoTransferRead004
1255  * @tc.desc: Test functions to IsoTransferRead(const UsbDev &dev, const UsbPipe &pipe, int32_t timeout,
1256  * std::vector<uint8_t> &data);
1257  * @tc.desc: Negative test: parameters exception, intfId error
1258  * @tc.type: FUNC
1259  */
1260 HWTEST_F(UsbdTransferTest, UsbdIsoTransferRead004, TestSize.Level1)
1261 {
1262     struct UsbDev dev = dev_;
1263     uint8_t interfaceId = INTERFACEID_1;
1264     uint8_t pointid = POINTID_129;
1265     auto ret = g_usbInterface->ClaimInterface(dev, interfaceId, 1);
1266     HDF_LOGI("UsbdTransferTest::UsbdIsoTransferRead004 %{public}d ClaimInterface=%{public}d", __LINE__, ret);
1267     ASSERT_EQ(0, ret);
1268     uint8_t buffer[100] = {0};
1269     uint32_t length = 100;
1270     struct UsbPipe pipe = {interfaceId, pointid};
1271     pipe.intfId = PIPE_INTERFACEID_244;
1272     std::vector<uint8_t> bufferdata = {buffer, buffer + length};
1273     ret = g_usbInterface->IsoTransferRead(dev, pipe, 1000, bufferdata);
1274     HDF_LOGI("UsbdTransferTest::UsbdIsoTransferRead004 %{public}d UsbdIsoTransferRead=%{public}d", __LINE__, ret);
1275     ASSERT_NE(ret, 0);
1276 }
1277 
1278 /**
1279  * @tc.name: UsbdIsoTransferRead005
1280  * @tc.desc: Test functions to IsoTransferRead(const UsbDev &dev, const UsbPipe &pipe, int32_t timeout,
1281  * std::vector<uint8_t> &data);
1282  * @tc.desc: Negative test: parameters exception, endpointId error
1283  * @tc.type: FUNC
1284  */
1285 HWTEST_F(UsbdTransferTest, UsbdIsoTransferRead005, TestSize.Level1)
1286 {
1287     struct UsbDev dev = dev_;
1288     uint8_t interfaceId = INTERFACEID_1;
1289     uint8_t pointid = POINTID_129;
1290     auto ret = g_usbInterface->ClaimInterface(dev, interfaceId, 1);
1291     HDF_LOGI("UsbdTransferTest::UsbdIsoTransferRead005 %{public}d ClaimInterface=%{public}d", __LINE__, ret);
1292     ASSERT_EQ(0, ret);
1293     uint32_t length = 100;
1294     uint8_t buffer[100] = {};
1295     struct UsbPipe pipe = {interfaceId, pointid};
1296     pipe.endpointId = PIPE_ENDPOINTID_244;
1297     std::vector<uint8_t> bufferdata = {buffer, buffer + length};
1298     ret = g_usbInterface->IsoTransferRead(dev, pipe, 1000, bufferdata);
1299     HDF_LOGI("UsbdTransferTest::UsbdIsoTransferRead005 %{public}d UsbdIsoTransferRead=%{public}d", __LINE__, ret);
1300     ASSERT_NE(ret, 0);
1301 }
1302 
1303 /**
1304  * @tc.name: UsbdIsoTransferWrite001
1305  * @tc.desc: Test functions to IsoTransferWrite(const UsbDev &dev, const UsbPipe &pipe, int32_t timeout,
1306  * std::vector<uint8_t> &data);
1307  * @tc.desc: Positive test: parameters correctly
1308  * @tc.type: FUNC
1309  */
1310 HWTEST_F(UsbdTransferTest, UsbdIsoTransferWrite001, TestSize.Level1)
1311 {
1312     struct UsbDev dev = dev_;
1313     uint8_t interfaceId = INTERFACEID_1;
1314     uint8_t pointid = POINTID_1;
1315     auto ret = g_usbInterface->ClaimInterface(dev, interfaceId, 1);
1316     HDF_LOGI("UsbdTransferTest::UsbdIsoTransferWrite001 %{public}d ClaimInterface=%{public}d", __LINE__, ret);
1317     ASSERT_EQ(0, ret);
1318     uint32_t length = 100;
1319     uint8_t buffer[100] = "hello world Iso writ01";
1320     struct UsbPipe pipe = {interfaceId, pointid};
1321     std::vector<uint8_t> bufferdata = {buffer, buffer + length};
1322     ret = g_usbInterface->IsoTransferWrite(dev, pipe, 1000, bufferdata);
1323     HDF_LOGI("UsbdTransferTest::UsbdIsoTransferWrite001 %{public}d IsoTransferWrite=%{public}d", __LINE__, ret);
1324     ASSERT_EQ(0, ret);
1325 }
1326 
1327 /**
1328  * @tc.name: UsbdIsoTransferWrite002
1329  * @tc.desc: Test functions to IsoTransferWrite(const UsbDev &dev, const UsbPipe &pipe, int32_t timeout,
1330  * std::vector<uint8_t> &data);
1331  * @tc.desc: Negative test: parameters exception, busNum error
1332  * @tc.type: FUNC
1333  */
1334 HWTEST_F(UsbdTransferTest, UsbdIsoTransferWrite002, TestSize.Level1)
1335 {
1336     struct UsbDev dev = dev_;
1337     uint8_t interfaceId = INTERFACEID_1;
1338     uint8_t pointid = POINTID_1;
1339     auto ret = g_usbInterface->ClaimInterface(dev, interfaceId, 1);
1340     HDF_LOGI("UsbdTransferTest::UsbdIsoTransferWrite002 %{public}d ClaimInterface=%{public}d", __LINE__, ret);
1341     ASSERT_EQ(0, ret);
1342     struct UsbPipe pipe = {interfaceId, pointid};
1343     dev.busNum = BUS_NUM_99;
1344     uint32_t length = 100;
1345     uint8_t buffer[100] = "hello world Iso writ02";
1346     std::vector<uint8_t> bufferdata = {buffer, buffer + length};
1347     ret = g_usbInterface->IsoTransferWrite(dev, pipe, 1000, bufferdata);
1348     HDF_LOGI("UsbdTransferTest::UsbdIsoTransferWrite002 %{public}d IsoTransferWrite=%{public}d", __LINE__, ret);
1349     ASSERT_NE(ret, 0);
1350 }
1351 
1352 /**
1353  * @tc.name: UsbdIsoTransferWrite003
1354  * @tc.desc: Test functions to IsoTransferWrite(const UsbDev &dev, const UsbPipe &pipe, int32_t timeout,
1355  * std::vector<uint8_t> &data);
1356  * @tc.desc: Negative test: parameters exception, devAddr error
1357  * @tc.type: FUNC
1358  */
1359 HWTEST_F(UsbdTransferTest, UsbdIsoTransferWrite003, TestSize.Level1)
1360 {
1361     struct UsbDev dev = dev_;
1362     uint8_t interfaceId = INTERFACEID_1;
1363     uint8_t pointid = POINTID_1;
1364     auto ret = g_usbInterface->ClaimInterface(dev, interfaceId, 1);
1365     HDF_LOGI("UsbdTransferTest::UsbdIsoTransferWrite003 %{public}d ClaimInterface=%{public}d", __LINE__, ret);
1366     ASSERT_EQ(0, ret);
1367     dev.devAddr = DEV_ADDR_244;
1368     uint32_t length = 100;
1369     uint8_t buffer[100] = "hello world Iso writ03";
1370     struct UsbPipe pipe = {interfaceId, pointid};
1371     std::vector<uint8_t> bufferdata = {buffer, buffer + length};
1372     ret = g_usbInterface->IsoTransferWrite(dev, pipe, 1000, bufferdata);
1373     HDF_LOGI("UsbdTransferTest::UsbdIsoTransferWrite003 %{public}d IsoTransferWrite=%{public}d", __LINE__, ret);
1374     ASSERT_NE(ret, 0);
1375 }
1376 
1377 /**
1378  * @tc.name: UsbdIsoTransferWrite004
1379  * @tc.desc: Test functions to IsoTransferWrite(const UsbDev &dev, const UsbPipe &pipe, int32_t timeout,
1380  * std::vector<uint8_t> &data);
1381  * @tc.desc: Negative test: parameters exception, intfId error
1382  * @tc.type: FUNC
1383  */
1384 HWTEST_F(UsbdTransferTest, UsbdIsoTransferWrite004, TestSize.Level1)
1385 {
1386     struct UsbDev dev = dev_;
1387     uint8_t interfaceId = INTERFACEID_1;
1388     uint8_t pointid = POINTID_1;
1389     auto ret = g_usbInterface->ClaimInterface(dev, interfaceId, 1);
1390     HDF_LOGI("UsbdTransferTest::UsbdIsoTransferWrite004 %{public}d ClaimInterface=%{public}d", __LINE__, ret);
1391     ASSERT_EQ(0, ret);
1392     struct UsbPipe pipe = {interfaceId, pointid};
1393     pipe.intfId = PIPE_INTERFACEID_255;
1394     uint32_t length = 100;
1395     uint8_t buffer[100] = "hello world Iso writ04";
1396     std::vector<uint8_t> bufferdata = {buffer, buffer + length};
1397     ret = g_usbInterface->IsoTransferWrite(dev, pipe, 1000, bufferdata);
1398     HDF_LOGI("UsbdTransferTest::UsbdIsoTransferWrite004 %{public}d IsoTransferWrite=%{public}d", __LINE__, ret);
1399     ASSERT_NE(ret, 0);
1400 }
1401 
1402 /**
1403  * @tc.name: UsbdIsoTransferWrite005
1404  * @tc.desc: Test functions to IsoTransferWrite(const UsbDev &dev, const UsbPipe &pipe, int32_t timeout,
1405  * std::vector<uint8_t> &data);
1406  * @tc.desc: Negative test: parameters exception, endpointId error
1407  * @tc.type: FUNC
1408  */
1409 HWTEST_F(UsbdTransferTest, UsbdIsoTransferWrite005, TestSize.Level1)
1410 {
1411     struct UsbDev dev = dev_;
1412     uint8_t interfaceId = INTERFACEID_1;
1413     uint8_t pointid = POINTID_1;
1414     auto ret = g_usbInterface->ClaimInterface(dev, interfaceId, 1);
1415     HDF_LOGI("UsbdTransferTest::UsbdIsoTransferWrite005 %{public}d ClaimInterface=%{public}d", __LINE__, ret);
1416     ASSERT_EQ(0, ret);
1417     struct UsbPipe pipe = {interfaceId, pointid};
1418     pipe.endpointId = PIPE_ENDPOINTID_255;
1419     uint32_t length = 100;
1420     uint8_t buffer[100] = "hello world Iso writ05";
1421     std::vector<uint8_t> bufferdata = {buffer, buffer + length};
1422     ret = g_usbInterface->IsoTransferWrite(dev, pipe, 1000, bufferdata);
1423     HDF_LOGI("UsbdTransferTest::UsbdIsoTransferWrite005 %{public}d IsoTransferWrite=%{public}d", __LINE__, ret);
1424     ASSERT_NE(ret, 0);
1425 }
1426 
1427 /**
1428  * @tc.name: UsbdIsoTransferWrite006
1429  * @tc.desc: Test functions to IsoTransferWrite(const UsbDev &dev, const UsbPipe &pipe, int32_t timeout,
1430  * std::vector<uint8_t> &data);
1431  * @tc.desc: Negative test: parameters exception, busNum && devAddr error
1432  * @tc.type: FUNC
1433  */
1434 HWTEST_F(UsbdTransferTest, UsbdIsoTransferWrite006, TestSize.Level1)
1435 {
1436     struct UsbDev dev = dev_;
1437     uint8_t interfaceId = INTERFACEID_1;
1438     uint8_t pointid = POINTID_1;
1439     auto ret = g_usbInterface->ClaimInterface(dev, interfaceId, 1);
1440     HDF_LOGI("UsbdTransferTest::UsbdIsoTransferWrite006 %{public}d ClaimInterface=%{public}d", __LINE__, ret);
1441     ASSERT_EQ(0, ret);
1442     struct UsbPipe pipe = {interfaceId, pointid};
1443     dev.busNum = BUS_NUM_99;
1444     dev.devAddr = DEV_ADDR_99;
1445     uint32_t length = 100;
1446     uint8_t buffer[100] = "hello world Iso writ06";
1447     std::vector<uint8_t> bufferdata = {buffer, buffer + length};
1448     ret = g_usbInterface->IsoTransferWrite(dev, pipe, 1000, bufferdata);
1449     HDF_LOGI("UsbdTransferTest::UsbdIsoTransferWrite006 %{public}d IsoTransferWrite=%{public}d", __LINE__, ret);
1450     ASSERT_NE(ret, 0);
1451 }
1452 
1453 /**
1454  * @tc.name: UsbdIsoTransferWrite007
1455  * @tc.desc: Test functions to IsoTransferWrite(const UsbDev &dev, const UsbPipe &pipe, int32_t timeout,
1456  * std::vector<uint8_t> &data);
1457  * @tc.desc: Negative test: parameters exception, endpointId error, ClaimInterface failed first
1458  * @tc.type: FUNC
1459  */
1460 HWTEST_F(UsbdTransferTest, UsbdIsoTransferWrite007, TestSize.Level1)
1461 {
1462     struct UsbDev dev = dev_;
1463     uint8_t interfaceId = INTERFACEID_1;
1464     uint8_t pointid = POINTID_99;
1465     auto ret = g_usbInterface->ClaimInterface(dev, interfaceId, 1);
1466     HDF_LOGI("UsbdTransferTest::UsbdIsoTransferWrite007 %{public}d ClaimInterface=%{public}d", __LINE__, ret);
1467     ASSERT_EQ(0, ret);
1468     struct UsbPipe pipe = {interfaceId, pointid};
1469     uint32_t length = 100;
1470     uint8_t buffer[100] = "hello world Iso writ07";
1471     std::vector<uint8_t> bufferdata = {buffer, buffer + length};
1472     ret = g_usbInterface->IsoTransferWrite(dev, pipe, 1000, bufferdata);
1473     HDF_LOGI("UsbdTransferTest::UsbdIsoTransferWrite007 %{public}d IsoTransferWrite=%{public}d", __LINE__, ret);
1474     ASSERT_NE(ret, 0);
1475 }
1476 
1477 /**
1478  * @tc.name: UsbdIsoTransferWrite008
1479  * @tc.desc: Test functions to IsoTransferWrite(const UsbDev &dev, const UsbPipe &pipe, int32_t timeout,
1480  * std::vector<uint8_t> &data);
1481  * @tc.desc: Positive test: parameters correctly, different in timeout
1482  * @tc.type: FUNC
1483  */
1484 HWTEST_F(UsbdTransferTest, UsbdIsoTransferWrite008, TestSize.Level1)
1485 {
1486     struct UsbDev dev = dev_;
1487     uint8_t interfaceId = INTERFACEID_1;
1488     uint8_t pointid = POINTID_1;
1489     auto ret = g_usbInterface->ClaimInterface(dev, interfaceId, 1);
1490     HDF_LOGI("UsbdTransferTest::UsbdIsoTransferWrite008 %{public}d ClaimInterface=%{public}d", __LINE__, ret);
1491     ASSERT_EQ(0, ret);
1492     struct UsbPipe pipe = {interfaceId, pointid};
1493     uint32_t length = 100;
1494     uint8_t buffer[100] = "hello world Iso writ08";
1495     std::vector<uint8_t> bufferdata = {buffer, buffer + length};
1496     ret = g_usbInterface->IsoTransferWrite(dev, pipe, -1, bufferdata);
1497     HDF_LOGI("UsbdTransferTest::UsbdIsoTransferWrite008 %{public}d IsoTransferWrite=%{public}d", __LINE__, ret);
1498     ASSERT_EQ(0, ret);
1499 }
1500 
1501 /**
1502  * @tc.name: BulkWrite001
1503  * @tc.desc: Test functions to int32_t BulkWrite(const UsbDev &dev, const UsbPipe &pipe, const sptr<Ashmem> &ashmem)
1504  * @tc.desc: Positive test: parameters correctly
1505  * @tc.type: FUNC
1506  */
1507 HWTEST_F(UsbdTransferTest, BulkWrite001, TestSize.Level1)
1508 {
1509     sptr<Ashmem> ashmem;
1510     uint8_t rflg = 0;
1511     int32_t asmSize = LENGTH_NUM_255;
1512     struct UsbDev dev = dev_;
1513     uint8_t interfaceId = INTERFACEID_1;
1514     uint8_t pointid = POINTID_129;
1515     auto ret = g_usbInterface->ClaimInterface(dev, interfaceId, 1);
1516     HDF_LOGI("UsbdTransferTest::BulkWrite001 %{public}d ClaimInterface=%{public}d", __LINE__, ret);
1517     ASSERT_EQ(0, ret);
1518     struct UsbPipe pipe = {interfaceId, pointid};
1519     (void)InitAshmemOne(ashmem, asmSize, rflg);
1520     ret = g_usbInterface->BulkWrite(dev, pipe, ashmem);
1521     HDF_LOGI("UsbdTransferTest::BulkWrite001 %{public}d BulkWrite=%{public}d", __LINE__, ret);
1522     ASSERT_EQ(ret, 0);
1523 }
1524 
1525 /**
1526  * @tc.name: BulkWrite002
1527  * @tc.desc: Test functions to int32_t BulkWrite(const UsbDev &dev, const UsbPipe &pipe, const sptr<Ashmem> &ashmem)
1528  * @tc.desc: Negative test: parameters exception, busNum error
1529  * @tc.type: FUNC
1530  */
1531 HWTEST_F(UsbdTransferTest, BulkWrite002, TestSize.Level1)
1532 {
1533     sptr<Ashmem> ashmem;
1534     uint8_t rflg = 0;
1535     int32_t asmSize = LENGTH_NUM_255;
1536     struct UsbDev dev = dev_;
1537     uint8_t interfaceId = INTERFACEID_1;
1538     uint8_t pointid = POINTID_1;
1539     auto ret = g_usbInterface->ClaimInterface(dev, interfaceId, 1);
1540     HDF_LOGI("UsbdTransferTest::BulkWrite002 %{public}d ClaimInterface=%{public}d", __LINE__, ret);
1541     ASSERT_EQ(0, ret);
1542     struct UsbPipe pipe = {interfaceId, pointid};
1543     dev.busNum = BUS_NUM_99;
1544     (void)InitAshmemOne(ashmem, asmSize, rflg);
1545     ret = g_usbInterface->BulkWrite(dev, pipe, ashmem);
1546     HDF_LOGI("UsbdTransferTest::BulkWrite002 %{public}d BulkWrite=%{public}d", __LINE__, ret);
1547     ASSERT_NE(ret, 0);
1548 }
1549 
1550 /**
1551  * @tc.name: BulkWrite003
1552  * @tc.desc: Test functions to int32_t BulkWrite(const UsbDev &dev, const UsbPipe &pipe, const sptr<Ashmem> &ashmem)
1553  * @tc.desc: Negative test: parameters exception, devAddr error
1554  * @tc.type: FUNC
1555  */
1556 HWTEST_F(UsbdTransferTest, BulkWrite003, TestSize.Level1)
1557 {
1558     sptr<Ashmem> ashmem;
1559     uint8_t rflg = 0;
1560     int32_t asmSize = LENGTH_NUM_255;
1561     struct UsbDev dev = dev_;
1562     uint8_t interfaceId = INTERFACEID_1;
1563     uint8_t pointid = POINTID_1;
1564     auto ret = g_usbInterface->ClaimInterface(dev, interfaceId, 1);
1565     HDF_LOGI("UsbdTransferTest::BulkWrite003 %{public}d ClaimInterface=%{public}d", __LINE__, ret);
1566     ASSERT_EQ(0, ret);
1567     struct UsbPipe pipe = {interfaceId, pointid};
1568     dev.devAddr = DEV_ADDR_244;
1569     (void)InitAshmemOne(ashmem, asmSize, rflg);
1570     ret = g_usbInterface->BulkWrite(dev, pipe, ashmem);
1571     HDF_LOGI("UsbdTransferTest::BulkWrite003 %{public}d BulkWrite=%{public}d", __LINE__, ret);
1572     ASSERT_NE(ret, 0);
1573 }
1574 
1575 /**
1576  * @tc.name: BulkWrite004
1577  * @tc.desc: Test functions to int32_t BulkWrite(const UsbDev &dev, const UsbPipe &pipe, const sptr<Ashmem> &ashmem)
1578  * @tc.desc: Negative test: parameters exception, intfId error
1579  * @tc.type: FUNC
1580  */
1581 HWTEST_F(UsbdTransferTest, BulkWrite004, TestSize.Level1)
1582 {
1583     sptr<Ashmem> ashmem;
1584     uint8_t rflg = 0;
1585     int32_t asmSize = LENGTH_NUM_255;
1586     struct UsbDev dev = dev_;
1587     uint8_t interfaceId = INTERFACEID_1;
1588     uint8_t pointid = POINTID_1;
1589     auto ret = g_usbInterface->ClaimInterface(dev, interfaceId, 1);
1590     HDF_LOGI("UsbdTransferTest::BulkWrite004 %{public}d ClaimInterface=%{public}d", __LINE__, ret);
1591     ASSERT_EQ(0, ret);
1592     struct UsbPipe pipe = {interfaceId, pointid};
1593     pipe.intfId = PIPE_INTERFACEID_255;
1594     (void)InitAshmemOne(ashmem, asmSize, rflg);
1595     ret = g_usbInterface->BulkWrite(dev, pipe, ashmem);
1596     HDF_LOGI("UsbdTransferTest::BulkWrite004 %{public}d BulkWrite=%{public}d", __LINE__, ret);
1597     ASSERT_NE(ret, 0);
1598 }
1599 
1600 /**
1601  * @tc.name: BulkWrite005
1602  * @tc.desc: Test functions to int32_t BulkWrite(const UsbDev &dev, const UsbPipe &pipe, const sptr<Ashmem> &ashmem)
1603  * @tc.desc: Negative test: parameters exception, endpointId error
1604  * @tc.type: FUNC
1605  */
1606 HWTEST_F(UsbdTransferTest, BulkWrite005, TestSize.Level1)
1607 {
1608     sptr<Ashmem> ashmem;
1609     uint8_t rflg = 0;
1610     int32_t asmSize = LENGTH_NUM_255;
1611     struct UsbDev dev = dev_;
1612     uint8_t interfaceId = INTERFACEID_1;
1613     uint8_t pointid = POINTID_1;
1614     auto ret = g_usbInterface->ClaimInterface(dev, interfaceId, 1);
1615     HDF_LOGI("UsbdTransferTest::BulkWrite005 %{public}d ClaimInterface=%{public}d", __LINE__, ret);
1616     ASSERT_EQ(0, ret);
1617     struct UsbPipe pipe = {interfaceId, pointid};
1618     pipe.endpointId = PIPE_ENDPOINTID_255;
1619     (void)InitAshmemOne(ashmem, asmSize, rflg);
1620     ret = g_usbInterface->BulkWrite(dev, pipe, ashmem);
1621     HDF_LOGI("UsbdTransferTest::BulkWrite005 %{public}d BulkWrite=%{public}d", __LINE__, ret);
1622     ASSERT_NE(ret, 0);
1623 }
1624 
1625 /**
1626  * @tc.name: BulkRead001
1627  * @tc.desc: Test functions to int32_t BulkRead(const UsbDev &dev, const UsbPipe &pipe, const sptr<Ashmem> &ashmem)
1628  * @tc.desc: Positive test: parameters correctly
1629  * @tc.type: FUNC
1630  */
1631 HWTEST_F(UsbdTransferTest, BulkRead001, TestSize.Level1)
1632 {
1633     sptr<Ashmem> ashmem;
1634     uint8_t rflg = 0;
1635     int32_t asmSize = LENGTH_NUM_255;
1636     struct UsbDev dev = dev_;
1637     uint8_t interfaceId = INTERFACEID_1;
1638     uint8_t pointid = POINTID_129;
1639     auto ret = g_usbInterface->ClaimInterface(dev, interfaceId, 1);
1640     HDF_LOGI("UsbdTransferTest::BulkRead001 %{public}d ClaimInterface=%{public}d", __LINE__, ret);
1641     ASSERT_EQ(0, ret);
1642     struct UsbPipe pipe = {interfaceId, pointid};
1643     (void)InitAshmemOne(ashmem, asmSize, rflg);
1644     ret = g_usbInterface->BulkRead(dev, pipe, ashmem);
1645     HDF_LOGI("UsbdTransferTest::BulkRead001 %{public}d BulkRead=%{public}d", __LINE__, ret);
1646     ASSERT_EQ(ret, 0);
1647 }
1648 
1649 /**
1650  * @tc.name: BulkRead002
1651  * @tc.desc: Test functions to int32_t BulkRead(const UsbDev &dev, const UsbPipe &pipe, const sptr<Ashmem> &ashmem)
1652  * @tc.desc: Negative test: parameters exception, busNum error
1653  * @tc.type: FUNC
1654  */
1655 HWTEST_F(UsbdTransferTest, BulkRead002, TestSize.Level1)
1656 {
1657     sptr<Ashmem> ashmem;
1658     uint8_t rflg = 0;
1659     int32_t asmSize = LENGTH_NUM_255;
1660     struct UsbDev dev = dev_;
1661     uint8_t interfaceId = INTERFACEID_1;
1662     uint8_t pointid = POINTID_1;
1663     auto ret = g_usbInterface->ClaimInterface(dev, interfaceId, 1);
1664     HDF_LOGI("UsbdTransferTest::BulkRead002 %{public}d ClaimInterface=%{public}d", __LINE__, ret);
1665     ASSERT_EQ(0, ret);
1666     struct UsbPipe pipe = {interfaceId, pointid};
1667     dev.busNum = BUS_NUM_99;
1668     (void)InitAshmemOne(ashmem, asmSize, rflg);
1669     ret = g_usbInterface->BulkRead(dev, pipe, ashmem);
1670     HDF_LOGI("UsbdTransferTest::BulkRead002 %{public}d BulkRead=%{public}d", __LINE__, ret);
1671     ASSERT_NE(ret, 0);
1672 }
1673 
1674 /**
1675  * @tc.name: BulkRead003
1676  * @tc.desc: Test functions to int32_t BulkRead(const UsbDev &dev, const UsbPipe &pipe, const sptr<Ashmem> &ashmem)
1677  * @tc.desc: Negative test: parameters exception, devAddr error
1678  * @tc.type: FUNC
1679  */
1680 HWTEST_F(UsbdTransferTest, BulkRead003, TestSize.Level1)
1681 {
1682     sptr<Ashmem> ashmem;
1683     uint8_t rflg = 0;
1684     int32_t asmSize = LENGTH_NUM_255;
1685     struct UsbDev dev = dev_;
1686     uint8_t interfaceId = INTERFACEID_1;
1687     uint8_t pointid = POINTID_1;
1688     auto ret = g_usbInterface->ClaimInterface(dev, interfaceId, 1);
1689     HDF_LOGI("UsbdTransferTest::BulkRead003 %{public}d ClaimInterface=%{public}d", __LINE__, ret);
1690     ASSERT_EQ(0, ret);
1691     struct UsbPipe pipe = {interfaceId, pointid};
1692     dev.devAddr = DEV_ADDR_244;
1693     (void)InitAshmemOne(ashmem, asmSize, rflg);
1694     ret = g_usbInterface->BulkRead(dev, pipe, ashmem);
1695     HDF_LOGI("UsbdTransferTest::BulkRead003 %{public}d BulkRead=%{public}d", __LINE__, ret);
1696     ASSERT_NE(ret, 0);
1697 }
1698 
1699 /**
1700  * @tc.name: BulkRead004
1701  * @tc.desc: Test functions to int32_t BulkRead(const UsbDev &dev, const UsbPipe &pipe, const sptr<Ashmem> &ashmem)
1702  * @tc.desc: Negative test: parameters exception, intfId error
1703  * @tc.type: FUNC
1704  */
1705 HWTEST_F(UsbdTransferTest, BulkRead004, TestSize.Level1)
1706 {
1707     sptr<Ashmem> ashmem;
1708     uint8_t rflg = 0;
1709     int32_t asmSize = LENGTH_NUM_255;
1710     struct UsbDev dev = dev_;
1711     uint8_t interfaceId = INTERFACEID_1;
1712     uint8_t pointid = POINTID_1;
1713     auto ret = g_usbInterface->ClaimInterface(dev, interfaceId, 1);
1714     HDF_LOGI("UsbdTransferTest::BulkRead004 %{public}d ClaimInterface=%{public}d", __LINE__, ret);
1715     ASSERT_EQ(0, ret);
1716     struct UsbPipe pipe = {interfaceId, pointid};
1717     pipe.intfId = PIPE_INTERFACEID_255;
1718     (void)InitAshmemOne(ashmem, asmSize, rflg);
1719     ret = g_usbInterface->BulkRead(dev, pipe, ashmem);
1720     HDF_LOGI("UsbdTransferTest::BulkRead004 %{public}d BulkRead=%{public}d", __LINE__, ret);
1721     ASSERT_NE(ret, 0);
1722 }
1723 
1724 /**
1725  * @tc.name: BulkRead005
1726  * @tc.desc: Test functions to int32_t BulkRead(const UsbDev &dev, const UsbPipe &pipe, const sptr<Ashmem> &ashmem)
1727  * @tc.desc: Negative test: parameters exception, endpointId error
1728  * @tc.type: FUNC
1729  */
1730 HWTEST_F(UsbdTransferTest, BulkRead005, TestSize.Level1)
1731 {
1732     sptr<Ashmem> ashmem;
1733     uint8_t rflg = 0;
1734     int32_t asmSize = LENGTH_NUM_255;
1735     struct UsbDev dev = dev_;
1736     uint8_t interfaceId = INTERFACEID_1;
1737     uint8_t pointid = POINTID_1;
1738     auto ret = g_usbInterface->ClaimInterface(dev, interfaceId, 1);
1739     HDF_LOGI("UsbdTransferTest::BulkRead005 %{public}d ClaimInterface=%{public}d", __LINE__, ret);
1740     ASSERT_EQ(0, ret);
1741     struct UsbPipe pipe = {interfaceId, pointid};
1742     pipe.endpointId = PIPE_ENDPOINTID_255;
1743     (void)InitAshmemOne(ashmem, asmSize, rflg);
1744     ret = g_usbInterface->BulkRead(dev, pipe, ashmem);
1745     HDF_LOGI("UsbdTransferTest::BulkRead005 %{public}d BulkRead=%{public}d", __LINE__, ret);
1746     ASSERT_NE(ret, 0);
1747 }
1748 
1749 /**
1750  * @tc.name: RegBulkCallback001
1751  * @tc.desc: Test functions to RegBulkCallback
1752  * @tc.desc: int32_t RegBulkCallback(const UsbDev &dev, const UsbPipe &pipe, const sptr<IUsbdBulkCallback> &cb)
1753  * @tc.desc: Positive test: parameters correctly
1754  * @tc.type: FUNC
1755  */
1756 HWTEST_F(UsbdTransferTest, RegBulkCallback001, TestSize.Level1)
1757 {
1758     struct UsbDev dev = dev_;
1759     uint8_t interfaceId = INTERFACEID_1;
1760     uint8_t pointid = POINTID_BULK_OUT;
1761     struct UsbPipe pipe = {interfaceId, pointid};
1762     sptr<UsbdBulkCallbackTest> usbdBulkCallback = new UsbdBulkCallbackTest();
1763     if (usbdBulkCallback == nullptr) {
1764         HDF_LOGE("%{public}s:UsbdBulkCallbackTest new failed.", __func__);
1765         exit(0);
1766     }
1767     auto ret = g_usbInterface->RegBulkCallback(dev, pipe, usbdBulkCallback);
1768     HDF_LOGI("UsbdTransferTest::RegBulkCallback001 %{public}d RegBulkCallback=%{public}d", __LINE__, ret);
1769     ASSERT_EQ(ret, 0);
1770 }
1771 
1772 /**
1773  * @tc.name: RegBulkCallback002
1774  * @tc.desc: Test functions to RegBulkCallback
1775  * @tc.desc: int32_t RegBulkCallback(const UsbDev &dev, const UsbPipe &pipe, const sptr<IUsbdBulkCallback> &cb)
1776  * @tc.desc: Negative test: parameters exception, busNum error
1777  * @tc.type: FUNC
1778  */
1779 HWTEST_F(UsbdTransferTest, RegBulkCallback002, TestSize.Level1)
1780 {
1781     struct UsbDev dev = dev_;
1782     uint8_t interfaceId = INTERFACEID_1;
1783     uint8_t pointid = POINTID_BULK_OUT;
1784     struct UsbPipe pipe = {interfaceId, pointid};
1785     dev.busNum = BUS_NUM_99;
1786     sptr<UsbdBulkCallbackTest> usbdBulkCallback = new UsbdBulkCallbackTest();
1787     if (usbdBulkCallback == nullptr) {
1788         HDF_LOGE("%{public}s:UsbdBulkCallbackTest new failed.", __func__);
1789         exit(0);
1790     }
1791     auto ret = g_usbInterface->RegBulkCallback(dev, pipe, usbdBulkCallback);
1792     HDF_LOGI("UsbdTransferTest::RegBulkCallback002 %{public}d RegBulkCallback=%{public}d", __LINE__, ret);
1793     ASSERT_NE(ret, 0);
1794 }
1795 
1796 /**
1797  * @tc.name: RegBulkCallback003
1798  * @tc.desc: Test functions to int32_t RegBulkCallback(const UsbDev &dev, const UsbPipe &pipe,
1799  * const sptr<IUsbdBulkCallback> &cb)
1800  * @tc.desc: Negative test: parameters exception, devAddr error
1801  * @tc.type: FUNC
1802  */
1803 HWTEST_F(UsbdTransferTest, RegBulkCallback003, TestSize.Level1)
1804 {
1805     struct UsbDev dev = dev_;
1806     uint8_t interfaceId = INTERFACEID_1;
1807     uint8_t pointid = POINTID_BULK_OUT;
1808     struct UsbPipe pipe = {interfaceId, pointid};
1809     dev.devAddr = DEV_ADDR_244;
1810     sptr<UsbdBulkCallbackTest> usbdBulkCallback = new UsbdBulkCallbackTest();
1811     if (usbdBulkCallback == nullptr) {
1812         HDF_LOGE("%{public}s:UsbdBulkCallbackTest new failed.", __func__);
1813         exit(0);
1814     }
1815     auto ret = g_usbInterface->RegBulkCallback(dev, pipe, usbdBulkCallback);
1816     HDF_LOGI("UsbdTransferTest::RegBulkCallback003 %{public}d RegBulkCallback=%{public}d", __LINE__, ret);
1817     ASSERT_NE(ret, 0);
1818 }
1819 
1820 /**
1821  * @tc.name: RegBulkCallback004
1822  * @tc.desc: Test functions to int32_t RegBulkCallback(const UsbDev &dev, const UsbPipe &pipe,
1823  * const sptr<IUsbdBulkCallback> &cb)
1824  * @tc.desc: Negative test: parameters exception, intfId error
1825  * @tc.type: FUNC
1826  */
1827 HWTEST_F(UsbdTransferTest, RegBulkCallback004, TestSize.Level1)
1828 {
1829     struct UsbDev dev = dev_;
1830     uint8_t interfaceId = INTERFACEID_1;
1831     uint8_t pointid = POINTID_BULK_OUT;
1832     struct UsbPipe pipe = {interfaceId, pointid};
1833     pipe.intfId = PIPE_INTERFACEID_255;
1834     sptr<UsbdBulkCallbackTest> usbdBulkCallback = new UsbdBulkCallbackTest();
1835     if (usbdBulkCallback == nullptr) {
1836         HDF_LOGE("%{public}s:UsbdBulkCallbackTest new failed.", __func__);
1837         exit(0);
1838     }
1839     auto ret = g_usbInterface->RegBulkCallback(dev, pipe, usbdBulkCallback);
1840     HDF_LOGI("UsbdTransferTest::RegBulkCallback004 %{public}d RegBulkCallback=%{public}d", __LINE__, ret);
1841     ASSERT_NE(ret, 0);
1842 }
1843 
1844 /**
1845  * @tc.name: RegBulkCallback005
1846  * @tc.desc: Test functions to int32_t RegBulkCallback(const UsbDev &dev, const UsbPipe &pipe,
1847  * const sptr<IUsbdBulkCallback> &cb)
1848  * @tc.desc: Negative test: parameters exception, cb error
1849  * @tc.type: FUNC
1850  */
1851 HWTEST_F(UsbdTransferTest, RegBulkCallback005, TestSize.Level1)
1852 {
1853     struct UsbDev dev = dev_;
1854     uint8_t interfaceId = INTERFACEID_1;
1855     uint8_t pointid = POINTID_BULK_OUT;
1856     struct UsbPipe pipe = {interfaceId, pointid};
1857     auto ret = g_usbInterface->RegBulkCallback(dev, pipe, nullptr);
1858     HDF_LOGI("UsbdTransferTest::RegBulkCallback005 %{public}d RegBulkCallback=%{public}d", __LINE__, ret);
1859     ASSERT_NE(ret, 0);
1860 }
1861 
1862 /**
1863  * @tc.name: UnRegBulkCallback001
1864  * @tc.desc: Test functions to int32_t UnRegBulkCallback(const UsbDev &dev, const UsbPipe &pipe)
1865  * @tc.desc: Positive test: parameters correctly
1866  * @tc.type: FUNC
1867  */
1868 HWTEST_F(UsbdTransferTest, UnRegBulkCallback001, TestSize.Level1)
1869 {
1870     struct UsbDev dev = dev_;
1871     uint8_t interfaceId = INTERFACEID_1;
1872     uint8_t pointid = POINTID_1;
1873     struct UsbPipe pipe = {interfaceId, pointid};
1874     sptr<UsbdBulkCallbackTest> usbdBulkCallback = new UsbdBulkCallbackTest();
1875     if (usbdBulkCallback == nullptr) {
1876         HDF_LOGE("%{public}s:UsbdBulkCallbackTest new failed.", __func__);
1877         exit(0);
1878     }
1879     auto ret = g_usbInterface->RegBulkCallback(dev, pipe, usbdBulkCallback);
1880     HDF_LOGI("UsbdTransferTest::UnRegBulkCallback001 %{public}d RegBulkCallback=%{public}d", __LINE__, ret);
1881     ASSERT_EQ(ret, 0);
1882     ret = g_usbInterface->UnRegBulkCallback(dev, pipe);
1883     HDF_LOGI("UsbdTransferTest::UnRegBulkCallback001 %{public}d UnRegBulkCallback=%{public}d", __LINE__, ret);
1884     ASSERT_EQ(ret, 0);
1885 }
1886 
1887 /**
1888  * @tc.name: UnRegBulkCallback002
1889  * @tc.desc: Test functions to int32_t UnRegBulkCallback(const UsbDev &dev, const UsbPipe &pipe)
1890  * @tc.desc: Negative test: parameters exception, devAddr error
1891  * @tc.type: FUNC
1892  */
1893 HWTEST_F(UsbdTransferTest, UnRegBulkCallback002, TestSize.Level1)
1894 {
1895     struct UsbDev dev = dev_;
1896     uint8_t interfaceId = INTERFACEID_1;
1897     uint8_t pointid = POINTID_1;
1898     struct UsbPipe pipe = {interfaceId, pointid};
1899     sptr<UsbdBulkCallbackTest> usbdBulkCallback = new UsbdBulkCallbackTest();
1900     if (usbdBulkCallback == nullptr) {
1901         HDF_LOGE("%{public}s:UsbdBulkCallbackTest new failed.", __func__);
1902         exit(0);
1903     }
1904     auto ret = g_usbInterface->RegBulkCallback(dev, pipe, usbdBulkCallback);
1905     HDF_LOGI("UsbdTransferTest::UnRegBulkCallback002 %{public}d RegBulkCallback=%{public}d", __LINE__, ret);
1906     ASSERT_EQ(ret, 0);
1907     dev.devAddr = DEV_ADDR_244;
1908     ret = g_usbInterface->UnRegBulkCallback(dev, pipe);
1909     HDF_LOGI("UsbdTransferTest::UnRegBulkCallback002 %{public}d UnRegBulkCallback=%{public}d", __LINE__, ret);
1910     ASSERT_NE(ret, 0);
1911     dev = dev_;
1912     ret = g_usbInterface->UnRegBulkCallback(dev, pipe);
1913     HDF_LOGI("UsbdTransferTest::UnRegBulkCallback002 %{public}d again UnRegBulkCallback=%{public}d", __LINE__, ret);
1914     ASSERT_EQ(ret, 0);
1915 }
1916 
1917 /**
1918  * @tc.name: UnRegBulkCallback003
1919  * @tc.desc: Test functions to int32_t UnRegBulkCallback(const UsbDev &dev, const UsbPipe &pipe)
1920  * @tc.desc: Negative test: parameters exception, intfId error
1921  * @tc.type: FUNC
1922  */
1923 HWTEST_F(UsbdTransferTest, UnRegBulkCallback003, TestSize.Level1)
1924 {
1925     struct UsbDev dev = dev_;
1926     uint8_t interfaceId = INTERFACEID_1;
1927     uint8_t pointid = POINTID_1;
1928     struct UsbPipe pipe = {interfaceId, pointid};
1929     sptr<UsbdBulkCallbackTest> usbdBulkCallback = new UsbdBulkCallbackTest();
1930     if (usbdBulkCallback == nullptr) {
1931         HDF_LOGE("%{public}s:UsbdBulkCallbackTest new failed.", __func__);
1932         exit(0);
1933     }
1934     auto ret = g_usbInterface->RegBulkCallback(dev, pipe, usbdBulkCallback);
1935     HDF_LOGI("UsbdTransferTest::UnRegBulkCallback003 %{public}d RegBulkCallback=%{public}d", __LINE__, ret);
1936     ASSERT_EQ(ret, 0);
1937     pipe.intfId = PIPE_INTERFACEID_244;
1938     ret = g_usbInterface->UnRegBulkCallback(dev, pipe);
1939     HDF_LOGI("UsbdTransferTest::UnRegBulkCallback003 %{public}d UnRegBulkCallback=%{public}d", __LINE__, ret);
1940     ASSERT_NE(ret, 0);
1941     pipe = {interfaceId, pointid};
1942     ret = g_usbInterface->UnRegBulkCallback(dev, pipe);
1943     HDF_LOGI("UsbdTransferTest::UnRegBulkCallback003 %{public}d again UnRegBulkCallback=%{public}d", __LINE__, ret);
1944     ASSERT_EQ(ret, 0);
1945 }
1946 
1947 /**
1948  * @tc.name: UnRegBulkCallback004
1949  * @tc.desc: Test functions to int32_t UnRegBulkCallback(const UsbDev &dev, const UsbPipe &pipe)
1950  * @tc.desc: Positive test: call again
1951  * @tc.type: FUNC
1952  */
1953 HWTEST_F(UsbdTransferTest, UnRegBulkCallback004, TestSize.Level1)
1954 {
1955     struct UsbDev dev = dev_;
1956     uint8_t interfaceId = INTERFACEID_1;
1957     uint8_t pointid = POINTID_1;
1958     struct UsbPipe pipe = {interfaceId, pointid};
1959     sptr<UsbdBulkCallbackTest> usbdBulkCallback = new UsbdBulkCallbackTest();
1960     if (usbdBulkCallback == nullptr) {
1961         HDF_LOGE("%{public}s:UsbdBulkCallbackTest new failed.", __func__);
1962         exit(0);
1963     }
1964     auto ret = g_usbInterface->RegBulkCallback(dev, pipe, usbdBulkCallback);
1965     HDF_LOGI("UsbdTransferTest::UnRegBulkCallback004 %{public}d RegBulkCallback=%{public}d", __LINE__, ret);
1966     ASSERT_EQ(ret, 0);
1967     ret = g_usbInterface->UnRegBulkCallback(dev, pipe);
1968     HDF_LOGI("UsbdTransferTest::UnRegBulkCallback004 %{public}d UnRegBulkCallback=%{public}d", __LINE__, ret);
1969     ASSERT_EQ(ret, 0);
1970     ret = g_usbInterface->UnRegBulkCallback(dev, pipe);
1971     HDF_LOGI("UsbdTransferTest::UnRegBulkCallback004 %{public}d again UnRegBulkCallback=%{public}d", __LINE__, ret);
1972     ASSERT_EQ(ret, 0);
1973 }
1974 
1975 /**
1976  * @tc.name: UnRegBulkCallback005
1977  * @tc.desc: Test functions to int32_t UnRegBulkCallback(const UsbDev &dev, const UsbPipe &pipe)
1978  * @tc.desc: Positive test: no register
1979  * @tc.type: FUNC
1980  */
1981 HWTEST_F(UsbdTransferTest, UnRegBulkCallback005, TestSize.Level1)
1982 {
1983     struct UsbDev dev = dev_;
1984     uint8_t interfaceId = INTERFACEID_1;
1985     uint8_t pointid = POINTID_1;
1986     struct UsbPipe pipe = {interfaceId, pointid};
1987     auto ret = g_usbInterface->UnRegBulkCallback(dev, pipe);
1988     HDF_LOGI("UsbdTransferTest::UnRegBulkCallback005 %{public}d UnRegBulkCallback=%{public}d", __LINE__, ret);
1989     ASSERT_EQ(ret, 0);
1990 }
1991 
1992 /**
1993  * @tc.name: UnbindUsbdSubscriber001
1994  * @tc.desc: Test functions to int32_t UnbindUsbdSubscriber(const sptr<IUsbdSubscriber> &subscriber)
1995  * @tc.desc: Positive test: parameters correctly
1996  * @tc.type: FUNC
1997  */
1998 HWTEST_F(UsbdTransferTest, UnbindUsbdSubscriber001, TestSize.Level1)
1999 {
2000     sptr<UsbSubscriberTest> subscriber = new UsbSubscriberTest();
2001     if (subscriber == nullptr) {
2002         HDF_LOGE("%{public}s:UsbSubscriberTest new failed.", __func__);
2003         exit(0);
2004     }
2005     auto ret = g_usbInterface->BindUsbdSubscriber(subscriber);
2006     HDF_LOGI("UsbdTransferTest::UnbindUsbdSubscriber001 %{public}d first BindUsbdSubscriber=%{public}d", __LINE__, ret);
2007     ASSERT_EQ(0, ret);
2008     ret = g_usbInterface->UnbindUsbdSubscriber(subscriber);
2009     HDF_LOGI("UsbdTransferTest::UnbindUsbdSubscriber001 %{public}d UnbindUsbdSubscriber=%{public}d", __LINE__, ret);
2010     ASSERT_EQ(0, ret);
2011 }
2012 
2013 /**
2014  * @tc.name: UnbindUsbdSubscriber002
2015  * @tc.desc: Test functions to int32_t UnbindUsbdSubscriber(const sptr<IUsbdSubscriber> &subscriber)
2016  * @tc.desc: Negative test: no bind first
2017  * @tc.type: FUNC
2018  */
2019 HWTEST_F(UsbdTransferTest, UnbindUsbdSubscriber002, TestSize.Level1)
2020 {
2021     sptr<UsbSubscriberTest> subscriber = new UsbSubscriberTest();
2022     if (subscriber == nullptr) {
2023         HDF_LOGE("%{public}s:UsbSubscriberTest new failed.", __func__);
2024         exit(0);
2025     }
2026     auto ret = g_usbInterface->UnbindUsbdSubscriber(subscriber);
2027     HDF_LOGI("UsbdTransferTest::UnbindUsbdSubscriber002 %{public}d UnbindUsbdSubscriber=%{public}d", __LINE__, ret);
2028     ASSERT_NE(0, ret);
2029 }
2030 
2031 /**
2032  * @tc.name: UnbindUsbdSubscriber003
2033  * @tc.desc: Test functions to int32_t UnbindUsbdSubscriber(const sptr<IUsbdSubscriber> &subscriber)
2034  * @tc.desc: Positive test: no bind first, unbind failed; then bind, unbind success
2035  * @tc.type: FUNC
2036  */
2037 HWTEST_F(UsbdTransferTest, UnbindUsbdSubscriber003, TestSize.Level1)
2038 {
2039     sptr<UsbSubscriberTest> subscriber = new UsbSubscriberTest();
2040     if (subscriber == nullptr) {
2041         HDF_LOGE("%{public}s:UsbSubscriberTest new failed.", __func__);
2042         exit(0);
2043     }
2044     auto ret = g_usbInterface->UnbindUsbdSubscriber(subscriber);
2045     HDF_LOGI("UsbdTransferTest::UnbindUsbdSubscriber003 %{public}d UnbindUsbdSubscriber=%{public}d", __LINE__, ret);
2046     ASSERT_NE(0, ret);
2047     ret = g_usbInterface->BindUsbdSubscriber(subscriber);
2048     HDF_LOGI("UsbdTransferTest::UnbindUsbdSubscriber003 %{public}d first BindUsbdSubscriber=%{public}d", __LINE__, ret);
2049     ASSERT_EQ(0, ret);
2050     ret = g_usbInterface->UnbindUsbdSubscriber(subscriber);
2051     HDF_LOGI(
2052         "UsbdTransferTest::UnbindUsbdSubscriber003 %{public}d again UnbindUsbdSubscriber=%{public}d", __LINE__, ret);
2053     ASSERT_EQ(0, ret);
2054 }
2055 
2056 /**
2057  * @tc.name: UnbindUsbdSubscriber004
2058  * @tc.desc: Test functions to int32_t UnbindUsbdSubscriber(const sptr<IUsbdSubscriber> &subscriber)
2059  * @tc.desc: Negative test: call twice
2060  * @tc.type: FUNC
2061  */
2062 HWTEST_F(UsbdTransferTest, UnbindUsbdSubscriber004, TestSize.Level1)
2063 {
2064     sptr<UsbSubscriberTest> subscriber = new UsbSubscriberTest();
2065     if (subscriber == nullptr) {
2066         HDF_LOGE("%{public}s:UsbSubscriberTest new failed.", __func__);
2067         exit(0);
2068     }
2069     auto ret = g_usbInterface->BindUsbdSubscriber(subscriber);
2070     HDF_LOGI("UsbdTransferTest::UnbindUsbdSubscriber004 %{public}d first BindUsbdSubscriber=%{public}d", __LINE__, ret);
2071     ASSERT_EQ(0, ret);
2072     ret = g_usbInterface->UnbindUsbdSubscriber(subscriber);
2073     HDF_LOGI(
2074         "UsbdTransferTest::UnbindUsbdSubscriber004 %{public}d first UnbindUsbdSubscriber=%{public}d", __LINE__, ret);
2075     ASSERT_EQ(0, ret);
2076     ret = g_usbInterface->UnbindUsbdSubscriber(subscriber);
2077     HDF_LOGI(
2078         "UsbdTransferTest::UnbindUsbdSubscriber004 %{public}d again UnbindUsbdSubscriber=%{public}d", __LINE__, ret);
2079     ASSERT_NE(0, ret);
2080 }
2081 
2082 /**
2083  * @tc.name: UnbindUsbdSubscriber005
2084  * @tc.desc: Test functions to int32_t UnbindUsbdSubscriber(const sptr<IUsbdSubscriber> &subscriber)
2085  * @tc.desc: Positive test: test repeatedly
2086  * @tc.type: FUNC
2087  */
2088 HWTEST_F(UsbdTransferTest, UnbindUsbdSubscriber005, TestSize.Level1)
2089 {
2090     sptr<UsbSubscriberTest> subscriber = new UsbSubscriberTest();
2091     if (subscriber == nullptr) {
2092         HDF_LOGE("%{public}s:UsbSubscriberTest new failed.", __func__);
2093         exit(0);
2094     }
2095     auto ret = g_usbInterface->BindUsbdSubscriber(subscriber);
2096     HDF_LOGI("UsbdTransferTest::UnbindUsbdSubscriber005 %{public}d first BindUsbdSubscriber=%{public}d", __LINE__, ret);
2097     ASSERT_EQ(0, ret);
2098     ret = g_usbInterface->UnbindUsbdSubscriber(subscriber);
2099     HDF_LOGI(
2100         "UsbdTransferTest::UnbindUsbdSubscriber005 %{public}d first UnbindUsbdSubscriber=%{public}d", __LINE__, ret);
2101     ASSERT_EQ(0, ret);
2102     ret = g_usbInterface->BindUsbdSubscriber(subscriber);
2103     HDF_LOGI("UsbdTransferTest::UnbindUsbdSubscriber005 %{public}d again BindUsbdSubscriber=%{public}d", __LINE__, ret);
2104     ASSERT_EQ(0, ret);
2105     ret = g_usbInterface->UnbindUsbdSubscriber(subscriber);
2106     HDF_LOGI(
2107         "UsbdTransferTest::UnbindUsbdSubscriber005 %{public}d again UnbindUsbdSubscriber=%{public}d", __LINE__, ret);
2108     ASSERT_EQ(0, ret);
2109 }
2110 
2111 /**
2112  * @tc.name: BindUsbdSubscriber001
2113  * @tc.desc: Test functions to int32_t BindUsbdSubscriber(const sptr<IUsbdSubscriber> &subscriber)
2114  * @tc.desc: Positive test: parameters correctly
2115  * @tc.type: FUNC
2116  */
2117 HWTEST_F(UsbdTransferTest, BindUsbdSubscriber001, TestSize.Level1)
2118 {
2119     sptr<UsbSubscriberTest> subscriber = new UsbSubscriberTest();
2120     if (subscriber == nullptr) {
2121         HDF_LOGE("%{public}s:UsbSubscriberTest new failed.", __func__);
2122         exit(0);
2123     }
2124     auto ret = g_usbInterface->BindUsbdSubscriber(subscriber);
2125     HDF_LOGI("UsbdTransferTest::BindUsbdSubscriber001 %{public}d BindUsbdSubscriber=%{public}d", __LINE__, ret);
2126     ASSERT_EQ(0, ret);
2127 }
2128 
2129 /**
2130  * @tc.name: BindUsbdSubscriber002
2131  * @tc.desc: Test functions to int32_t BindUsbdSubscriber(const sptr<IUsbdSubscriber> &subscriber)
2132  * @tc.desc: Positive test: bind different
2133  * @tc.type: FUNC
2134  */
2135 HWTEST_F(UsbdTransferTest, BindUsbdSubscriber002, TestSize.Level1)
2136 {
2137     sptr<UsbSubscriberTest> subscriber = new UsbSubscriberTest();
2138     if (subscriber == nullptr) {
2139         HDF_LOGE("%{public}s:UsbSubscriberTest new failed.", __func__);
2140         exit(0);
2141     }
2142     auto ret = g_usbInterface->BindUsbdSubscriber(subscriber);
2143     HDF_LOGI("UsbdTransferTest::BindUsbdSubscriber002 %{public}d BindUsbdSubscriber=%{public}d", __LINE__, ret);
2144     ASSERT_EQ(0, ret);
2145     sptr<UsbSubscriberTest> subscriber2 = new UsbSubscriberTest();
2146     if (subscriber == nullptr) {
2147         HDF_LOGE("%{public}s:UsbSubscriberTest new failed.", __func__);
2148         exit(0);
2149     }
2150     ret = g_usbInterface->BindUsbdSubscriber(subscriber2);
2151     HDF_LOGI("UsbdTransferTest::BindUsbdSubscriber002 %{public}d again BindUsbdSubscriber=%{public}d", __LINE__, ret);
2152     ASSERT_EQ(0, ret);
2153 }
2154 
2155 /**
2156  * @tc.name: BindUsbdSubscriber003
2157  * @tc.desc: Test functions to int32_t BindUsbdSubscriber(const sptr<IUsbdSubscriber> &subscriber)
2158  * @tc.desc: Positive test: bind same
2159  * @tc.type: FUNC
2160  */
2161 HWTEST_F(UsbdTransferTest, BindUsbdSubscriber003, TestSize.Level1)
2162 {
2163     sptr<UsbSubscriberTest> subscriber = new UsbSubscriberTest();
2164     if (subscriber == nullptr) {
2165         HDF_LOGE("%{public}s:UsbSubscriberTest new failed.", __func__);
2166         exit(0);
2167     }
2168     auto ret = g_usbInterface->BindUsbdSubscriber(subscriber);
2169     HDF_LOGI("UsbdTransferTest::BindUsbdSubscriber003 %{public}d BindUsbdSubscriber=%{public}d", __LINE__, ret);
2170     ASSERT_EQ(0, ret);
2171     ret = g_usbInterface->BindUsbdSubscriber(subscriber);
2172     HDF_LOGI("UsbdTransferTest::BindUsbdSubscriber003 %{public}d again BindUsbdSubscriber=%{public}d", __LINE__, ret);
2173     ASSERT_EQ(0, ret);
2174 }
2175 
2176 /**
2177  * @tc.name: BindUsbdSubscriber004
2178  * @tc.desc: Test functions to int32_t BindUsbdSubscriber(const sptr<IUsbdSubscriber> &subscriber)
2179  * @tc.desc: Positive test: bind and unbind, then bind another
2180  * @tc.type: FUNC
2181  */
2182 HWTEST_F(UsbdTransferTest, BindUsbdSubscriber004, TestSize.Level1)
2183 {
2184     sptr<UsbSubscriberTest> subscriber = new UsbSubscriberTest();
2185     if (subscriber == nullptr) {
2186         HDF_LOGE("%{public}s:UsbSubscriberTest new failed.", __func__);
2187         exit(0);
2188     }
2189     auto ret = g_usbInterface->BindUsbdSubscriber(subscriber);
2190     HDF_LOGI("UsbdTransferTest::BindUsbdSubscriber004 %{public}d BindUsbdSubscriber=%{public}d", __LINE__, ret);
2191     ASSERT_EQ(0, ret);
2192     ret = g_usbInterface->UnbindUsbdSubscriber(subscriber);
2193     HDF_LOGI("UsbdTransferTest::bindUsbdSubscriber005 %{public}d UnbindUsbdSubscriber=%{public}d", __LINE__, ret);
2194     ASSERT_EQ(0, ret);
2195     sptr<UsbSubscriberTest> subscriber2 = new UsbSubscriberTest();
2196     if (subscriber == nullptr) {
2197         HDF_LOGE("%{public}s:UsbSubscriberTest new failed.", __func__);
2198         exit(0);
2199     }
2200     ret = g_usbInterface->BindUsbdSubscriber(subscriber2);
2201     HDF_LOGI("UsbdTransferTest::BindUsbdSubscriber004 again %{public}d BindUsbdSubscriber=%{public}d", __LINE__, ret);
2202     ASSERT_EQ(0, ret);
2203 }
2204 
2205 /**
2206  * @tc.name: BindUsbdSubscriber005
2207  * @tc.desc: Test functions to int32_t BindUsbdSubscriber(const sptr<IUsbdSubscriber> &subscriber)
2208  * @tc.desc: Positive test: bind again after unbind
2209  * @tc.type: FUNC
2210  */
2211 HWTEST_F(UsbdTransferTest, BindUsbdSubscriber005, TestSize.Level1)
2212 {
2213     sptr<UsbSubscriberTest> subscriber = new UsbSubscriberTest();
2214     if (subscriber == nullptr) {
2215         HDF_LOGE("%{public}s:UsbSubscriberTest new failed.", __func__);
2216         exit(0);
2217     }
2218     auto ret = g_usbInterface->BindUsbdSubscriber(subscriber);
2219     HDF_LOGI("UsbdTransferTest::BindUsbdSubscriber005 %{public}d BindUsbdSubscriber=%{public}d", __LINE__, ret);
2220     ASSERT_EQ(0, ret);
2221     ret = g_usbInterface->UnbindUsbdSubscriber(subscriber);
2222     HDF_LOGI("UsbdTransferTest::bindUsbdSubscriber005 %{public}d UnbindUsbdSubscriber=%{public}d", __LINE__, ret);
2223     ASSERT_EQ(0, ret);
2224     ret = g_usbInterface->BindUsbdSubscriber(subscriber);
2225     HDF_LOGI("UsbdTransferTest::bindUsbdSubscriber005 %{public}d again BindUsbdSubscriber=%{public}d", __LINE__, ret);
2226     ASSERT_EQ(0, ret);
2227 }
2228 } // namespace
2229