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