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