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