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