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