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