1 /*
2 * Copyright (c) 2021-2022 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 "securec.h"
24 #include "v1_0/iusb_interface.h"
25 #include "v1_0/usb_types.h"
26
27 const int SLEEP_TIME = 3;
28 const uint8_t BUS_NUM_99 = 99;
29 const uint8_t BUS_NUM_222 = 222;
30 const uint8_t BUS_NUM_255 = 255;
31 const uint8_t DEV_ADDR_99 = 99;
32 const uint8_t DEV_ADDR_244 = 244;
33 const uint8_t DEV_ADDR_255 = 255;
34 const uint32_t LENGTH_NUM_255 = 255;
35 const uint8_t INTERFACEID_1 = 1;
36 const uint8_t PIPE_ENDPOINTID_244 = 244;
37 const uint8_t PIPE_ENDPOINTID_255 = 255;
38 const uint8_t PIPE_INTERFACEID_244 = 244;
39 const uint8_t PIPE_INTERFACEID_255 = 255;
40 const uint8_t POINTID_1 = 1;
41 const uint8_t POINTID_99 = 99;
42 const uint8_t POINTID_129 = 130;
43 const uint8_t POINTID_BULK_IN = 0x82;
44 const uint8_t POINTID_BULK_OUT = 0x01;
45 const int32_t ASHMEM_MAX_SIZE = 1024;
46 UsbDev UsbdTransferTest::dev_ = {0, 0};
47
48 using namespace testing::ext;
49 using namespace OHOS;
50 using namespace OHOS::USB;
51 using namespace std;
52 using namespace OHOS::HDI::Usb::V1_0;
53
54 namespace {
55 sptr<IUsbInterface> g_usbInterface = nullptr;
56
InitAshmemOne(sptr<Ashmem> & asmptr,int32_t asmSize,uint8_t rflg)57 int32_t InitAshmemOne(sptr<Ashmem> &asmptr, int32_t asmSize, uint8_t rflg)
58 {
59 asmptr = Ashmem::CreateAshmem("ttashmem000", asmSize);
60 if (asmptr == nullptr) {
61 HDF_LOGE("InitAshmemOne CreateAshmem failed\n");
62 return HDF_FAILURE;
63 }
64
65 asmptr->MapReadAndWriteAshmem();
66
67 if (rflg == 0) {
68 uint8_t tdata[ASHMEM_MAX_SIZE];
69 int32_t offset = 0;
70 int32_t tlen = 0;
71
72 int32_t retSafe = memset_s(tdata, sizeof(tdata), 'Y', ASHMEM_MAX_SIZE);
73 if (retSafe != EOK) {
74 HDF_LOGE("InitAshmemOne memset_s failed\n");
75 return HDF_FAILURE;
76 }
77 while (offset < asmSize) {
78 tlen = (asmSize - offset) < ASHMEM_MAX_SIZE ? (asmSize - offset) : ASHMEM_MAX_SIZE;
79 asmptr->WriteToAshmem(tdata, tlen, offset);
80 offset += tlen;
81 }
82 }
83 return HDF_SUCCESS;
84 }
85
SetUpTestCase(void)86 void UsbdTransferTest::SetUpTestCase(void)
87 {
88 g_usbInterface = IUsbInterface::Get();
89 if (g_usbInterface == nullptr) {
90 HDF_LOGE("%{public}s:IUsbInterface::Get() failed.", __func__);
91 exit(0);
92 }
93 auto ret = g_usbInterface->SetPortRole(1, 1, 1);
94 sleep(SLEEP_TIME);
95 HDF_LOGI("UsbdTransferTest::[Device] %{public}d SetPortRole=%{public}d", __LINE__, ret);
96 ASSERT_EQ(0, ret);
97 if (ret != 0) {
98 exit(0);
99 }
100
101 sptr<UsbSubscriberTest> subscriber = new UsbSubscriberTest();
102 if (subscriber == nullptr) {
103 HDF_LOGE("%{public}s:UsbSubscriberTest new failed.", __func__);
104 exit(0);
105 }
106 if (g_usbInterface->BindUsbdSubscriber(subscriber) != HDF_SUCCESS) {
107 HDF_LOGE("%{public}s: bind usbd subscriber failed\n", __func__);
108 exit(0);
109 }
110
111 std::cout << "please connect device, press enter to continue" << std::endl;
112 int c;
113 while ((c = getchar()) != '\n' && c != EOF) {}
114
115 dev_ = {subscriber->busNum_, subscriber->devAddr_};
116 ret = g_usbInterface->OpenDevice(dev_);
117 HDF_LOGI("UsbdTransferTest:: %{public}d OpenDevice=%{public}d", __LINE__, ret);
118 ASSERT_EQ(0, ret);
119 }
120
TearDownTestCase(void)121 void UsbdTransferTest::TearDownTestCase(void)
122 {
123 sptr<UsbSubscriberTest> subscriber = new UsbSubscriberTest();
124 if (subscriber == nullptr) {
125 HDF_LOGE("%{public}s:UsbSubscriberTest new failed.", __func__);
126 exit(0);
127 }
128 if (g_usbInterface->BindUsbdSubscriber(subscriber) != HDF_SUCCESS) {
129 HDF_LOGE("%{public}s: bind usbd subscriber failed\n", __func__);
130 exit(0);
131 }
132 dev_ = {subscriber->busNum_, subscriber->devAddr_};
133 auto ret = g_usbInterface->CloseDevice(dev_);
134 HDF_LOGI("UsbdTransferTest:: %{public}d Close=%{public}d", __LINE__, ret);
135 ASSERT_EQ(0, ret);
136 }
137
SetUp(void)138 void UsbdTransferTest::SetUp(void) {}
139
TearDown(void)140 void UsbdTransferTest::TearDown(void) {}
141
142 /**
143 * @tc.name: UsbdControlTransfer001
144 * @tc.desc: Test functions to ControlTransfer(const UsbDev &dev, UsbCtrlTransfer &ctrl, std::vector<uint8_t> &data);
145 * @tc.desc: Positive test: parameters correctly, standard request: get configuration
146 * @tc.type: FUNC
147 */
148 HWTEST_F(UsbdTransferTest, UsbdControlTransfer001, TestSize.Level1)
149 {
150 struct UsbDev dev = dev_;
151 uint8_t buffer[LENGTH_NUM_255] = {0};
152 uint32_t length = LENGTH_NUM_255;
153 std::vector<uint8_t> bufferdata = {buffer, buffer + length};
154 struct UsbCtrlTransfer ctrlparmas = {0b10000000, 8, 0, 0, 1000};
155 auto ret = g_usbInterface->ControlTransferRead(dev, ctrlparmas, bufferdata);
156 HDF_LOGI("UsbdTransferTest::UsbdControlTransfer001 %{public}d ControlTransfer=%{public}d", __LINE__, ret);
157 ASSERT_EQ(0, ret);
158 }
159
160 /**
161 * @tc.name: UsbdControlTransfer002
162 * @tc.desc: Test functions to ControlTransfer(const UsbDev &dev, UsbCtrlTransfer &ctrl, std::vector<uint8_t> &data);
163 * @tc.desc: Negative test: parameters exception, busNum error, standard request: get configuration
164 * @tc.type: FUNC
165 */
166 HWTEST_F(UsbdTransferTest, UsbdControlTransfer002, TestSize.Level1)
167 {
168 struct UsbDev dev = {BUS_NUM_255, dev_.devAddr};
169 uint8_t buffer[LENGTH_NUM_255] = {0};
170 uint32_t length = LENGTH_NUM_255;
171 std::vector<uint8_t> bufferdata = {buffer, buffer + length};
172 struct UsbCtrlTransfer ctrlparmas = {0b10000000, 8, 0, 0, 1000};
173 auto ret = g_usbInterface->ControlTransferRead(dev, ctrlparmas, bufferdata);
174 HDF_LOGI("UsbdTransferTest::UsbdControlTransfer002 %{public}d ControlTransfer=%{public}d", __LINE__, ret);
175 ASSERT_NE(ret, 0);
176 }
177
178 /**
179 * @tc.name: UsbdControlTransfer003
180 * @tc.desc: Test functions to ControlTransfer(const UsbDev &dev, UsbCtrlTransfer &ctrl, std::vector<uint8_t> &data);
181 * @tc.desc: Negative test: parameters exception, devAddr error, standard request: get configuration
182 * @tc.type: FUNC
183 */
184 HWTEST_F(UsbdTransferTest, UsbdControlTransfer003, TestSize.Level1)
185 {
186 struct UsbDev dev = {dev_.busNum, DEV_ADDR_255};
187 uint8_t buffer[LENGTH_NUM_255] = {0};
188 uint32_t length = LENGTH_NUM_255;
189 std::vector<uint8_t> bufferdata = {buffer, buffer + length};
190 struct UsbCtrlTransfer ctrlparmas = {0b10000000, 8, 0, 0, 1000};
191 auto ret = g_usbInterface->ControlTransferRead(dev, ctrlparmas, bufferdata);
192 HDF_LOGI("UsbdTransferTest::UsbdControlTransfer003 %{public}d ControlTransfer=%{public}d", __LINE__, ret);
193 ASSERT_NE(ret, 0);
194 }
195
196 /**
197 * @tc.name: UsbdControlTransfer004
198 * @tc.desc: Test functions to ControlTransfer(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, UsbdControlTransfer004, TestSize.Level1)
203 {
204 struct UsbDev dev = dev_;
205 uint32_t length = LENGTH_NUM_255;
206 uint8_t buffer[LENGTH_NUM_255] = {0};
207 std::vector<uint8_t> bufferdata = {buffer, buffer + length};
208 struct UsbCtrlTransfer ctrlparmas = {0b10000000, 6, 0x100, 0, 1000};
209 auto ret = g_usbInterface->ControlTransferRead(dev, ctrlparmas, bufferdata);
210 HDF_LOGI("UsbdTransferTest::UsbdControlTransfer004 %{public}d ControlTransfer=%{public}d", __LINE__, ret);
211 ASSERT_EQ(0, ret);
212 }
213
214 /**
215 * @tc.name: UsbdControlTransfer005
216 * @tc.desc: Test functions to ControlTransfer(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, UsbdControlTransfer005, TestSize.Level1)
221 {
222 struct UsbDev dev = {BUS_NUM_255, dev_.devAddr};
223 uint32_t length = LENGTH_NUM_255;
224 uint8_t buffer[LENGTH_NUM_255] = {0};
225 std::vector<uint8_t> bufferdata = {buffer, buffer + length};
226 struct UsbCtrlTransfer ctrlparmas = {0b10000000, 6, 0x100, 0, 1000};
227 auto ret = g_usbInterface->ControlTransferRead(dev, ctrlparmas, bufferdata);
228 HDF_LOGI("UsbdTransferTest::UsbdControlTransfer005 %{public}d ControlTransfer=%{public}d", __LINE__, ret);
229 ASSERT_NE(ret, 0);
230 }
231
232 /**
233 * @tc.name: UsbdControlTransfer006
234 * @tc.desc: Test functions to ControlTransfer(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, UsbdControlTransfer006, TestSize.Level1)
239 {
240 struct UsbDev dev = {dev_.busNum, DEV_ADDR_255};
241 uint32_t length = LENGTH_NUM_255;
242 uint8_t buffer[LENGTH_NUM_255] = {0};
243 std::vector<uint8_t> bufferdata = {buffer, buffer + length};
244 struct UsbCtrlTransfer ctrlparmas = {0b10000000, 6, 0x100, 0, 1000};
245 auto ret = g_usbInterface->ControlTransferRead(dev, ctrlparmas, bufferdata);
246 HDF_LOGI("UsbdTransferTest::UsbdControlTransfer006 %{public}d ControlTransfer=%{public}d", __LINE__, ret);
247 ASSERT_NE(ret, 0);
248 }
249
250 /**
251 * @tc.name: UsbdControlTransfer007
252 * @tc.desc: Test functions to ControlTransfer(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, UsbdControlTransfer007, TestSize.Level1)
257 {
258 struct UsbDev dev = dev_;
259 int32_t intercafeidex = 0;
260 uint32_t length = LENGTH_NUM_255;
261 uint8_t buffer[LENGTH_NUM_255] = {0};
262 std::vector<uint8_t> bufferdata = {buffer, buffer + length};
263 struct UsbCtrlTransfer ctrlparmas = {0b10000001, 0X0A, 0, intercafeidex, 1000};
264 auto ret = g_usbInterface->ControlTransferRead(dev, ctrlparmas, bufferdata);
265 HDF_LOGI("UsbdTransferTest::UsbdControlTransfer007 %{public}d ControlTransfer=%{public}d", __LINE__, ret);
266 ASSERT_EQ(0, ret);
267 }
268
269 /**
270 * @tc.name: UsbdControlTransfer008
271 * @tc.desc: Test functions to ControlTransfer(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, UsbdControlTransfer008, TestSize.Level1)
276 {
277 struct UsbDev dev = {BUS_NUM_255, dev_.devAddr};
278 int32_t intercafeidex = 0;
279 uint32_t length = LENGTH_NUM_255;
280 uint8_t buffer[LENGTH_NUM_255] = {0};
281 std::vector<uint8_t> bufferdata = {buffer, buffer + length};
282 struct UsbCtrlTransfer ctrlparmas = {0b10000001, 0X0A, 0, intercafeidex, 1000};
283 auto ret = g_usbInterface->ControlTransferRead(dev, ctrlparmas, bufferdata);
284 HDF_LOGI("UsbdTransferTest::UsbdControlTransfer008 %{public}d ControlTransfer=%{public}d", __LINE__, ret);
285 ASSERT_NE(ret, 0);
286 }
287
288 /**
289 * @tc.name: UsbdControlTransfer009
290 * @tc.desc: Test functions to ControlTransfer(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, UsbdControlTransfer009, TestSize.Level1)
295 {
296 struct UsbDev dev = {dev_.busNum, DEV_ADDR_255};
297 int32_t intercafeidex = 0;
298 uint32_t length = LENGTH_NUM_255;
299 uint8_t buffer[LENGTH_NUM_255] = {0};
300 std::vector<uint8_t> bufferdata = {buffer, buffer + length};
301 struct UsbCtrlTransfer ctrlparmas = {0b10000001, 0X0A, 0, intercafeidex, 1000};
302 auto ret = g_usbInterface->ControlTransferRead(dev, ctrlparmas, bufferdata);
303 HDF_LOGI("UsbdTransferTest::UsbdControlTransfer009 %{public}d ControlTransfer=%{public}d", __LINE__, ret);
304 ASSERT_NE(ret, 0);
305 }
306
307 /**
308 * @tc.name: UsbdControlTransfer010
309 * @tc.desc: Test functions to ControlTransfer(const UsbDev &dev, UsbCtrlTransfer &ctrl, std::vector<uint8_t> &data);
310 * Positive test: parameters correctly, standard request: get status(recipient device)
311 * @tc.type: FUNC
312 */
313 HWTEST_F(UsbdTransferTest, UsbdControlTransfer010, TestSize.Level1)
314 {
315 struct UsbDev dev = dev_;
316 uint32_t length = LENGTH_NUM_255;
317 uint8_t buffer[LENGTH_NUM_255] = {0};
318 std::vector<uint8_t> bufferdata = {buffer, buffer + length};
319 struct UsbCtrlTransfer ctrlparmas = {0b10000000, 0, 0, 0, 1000};
320 auto ret = g_usbInterface->ControlTransferRead(dev, ctrlparmas, bufferdata);
321 HDF_LOGI("UsbdTransferTest::UsbdControlTransfer010 %{public}d ControlTransfer=%{public}d", __LINE__, ret);
322 ASSERT_EQ(0, ret);
323 }
324
325 /**
326 * @tc.name: UsbdControlTransfer011
327 * @tc.desc: Test functions to ControlTransfer(const UsbDev &dev, UsbCtrlTransfer &ctrl, std::vector<uint8_t> &data);
328 * @tc.desc: Negative test: parameters exception, busNum error, standard request: get status(device)
329 * @tc.type: FUNC
330 */
331 HWTEST_F(UsbdTransferTest, UsbdControlTransfer011, TestSize.Level1)
332 {
333 struct UsbDev dev = {BUS_NUM_255, dev_.devAddr};
334 uint32_t length = LENGTH_NUM_255;
335 uint8_t buffer[LENGTH_NUM_255] = {0};
336 std::vector<uint8_t> bufferdata = {buffer, buffer + length};
337 struct UsbCtrlTransfer ctrlparmas = {0b10000000, 0, 0, 0, 1000};
338 auto ret = g_usbInterface->ControlTransferRead(dev, ctrlparmas, bufferdata);
339 HDF_LOGI("UsbdTransferTest::UsbdControlTransfer011 %{public}d ControlTransfer=%{public}d", __LINE__, ret);
340 ASSERT_NE(ret, 0);
341 }
342
343 /**
344 * @tc.name: UsbdControlTransfer012
345 * @tc.desc: Test functions to ControlTransfer(const UsbDev &dev, UsbCtrlTransfer &ctrl, std::vector<uint8_t> &data);
346 * @tc.desc: Negative test: parameters exception, devAddr error, standard request: get status(device)
347 * @tc.type: FUNC
348 */
349 HWTEST_F(UsbdTransferTest, UsbdControlTransfer012, TestSize.Level1)
350 {
351 struct UsbDev dev = {dev_.busNum, DEV_ADDR_255};
352 uint32_t length = LENGTH_NUM_255;
353 uint8_t buffer[LENGTH_NUM_255] = {0};
354 std::vector<uint8_t> bufferdata = {buffer, buffer + length};
355 struct UsbCtrlTransfer ctrlparmas = {0b10000000, 0, 0, 0, 1000};
356 auto ret = g_usbInterface->ControlTransferRead(dev, ctrlparmas, bufferdata);
357 HDF_LOGI("UsbdTransferTest::UsbdControlTransfer012 %{public}d ControlTransfer=%{public}d", __LINE__, ret);
358 ASSERT_NE(ret, 0);
359 }
360
361 /**
362 * @tc.name: UsbdControlTransfer013
363 * @tc.desc: Test functions to ControlTransfer(const UsbDev &dev, UsbCtrlTransfer &ctrl, std::vector<uint8_t> &data);
364 * Positive test: parameters correctly, standard request: get status(interface)
365 * @tc.type: FUNC
366 */
367 HWTEST_F(UsbdTransferTest, UsbdControlTransfer013, TestSize.Level1)
368 {
369 struct UsbDev dev = dev_;
370 uint32_t length = LENGTH_NUM_255;
371 uint8_t buffer[LENGTH_NUM_255] = {0};
372 std::vector<uint8_t> bufferdata = {buffer, buffer + length};
373 struct UsbCtrlTransfer ctrlparmas = {0b10000001, 0, 0, 0, 1000};
374 auto ret = g_usbInterface->ControlTransferRead(dev, ctrlparmas, bufferdata);
375 HDF_LOGI("UsbdTransferTest::UsbdControlTransfer013 %{public}d ControlTransfer=%{public}d", __LINE__, ret);
376 ASSERT_EQ(0, ret);
377 }
378
379 /**
380 * @tc.name: UsbdControlTransfer014
381 * @tc.desc: Test functions to ControlTransfer(const UsbDev &dev, UsbCtrlTransfer &ctrl, std::vector<uint8_t> &data);
382 * @tc.desc: Negative test: parameters exception, busNum error, standard request: get status(interface)
383 * @tc.type: FUNC
384 */
385 HWTEST_F(UsbdTransferTest, UsbdControlTransfer014, TestSize.Level1)
386 {
387 struct UsbDev dev = {BUS_NUM_255, dev_.devAddr};
388 uint32_t length = LENGTH_NUM_255;
389 uint8_t buffer[LENGTH_NUM_255] = {0};
390 std::vector<uint8_t> bufferdata = {buffer, buffer + length};
391 struct UsbCtrlTransfer ctrlparmas = {0b10000001, 0, 0, 0, 1000};
392 auto ret = g_usbInterface->ControlTransferRead(dev, ctrlparmas, bufferdata);
393 HDF_LOGI("UsbdTransferTest::UsbdControlTransfer014 %{public}d ControlTransfer=%{public}d", __LINE__, ret);
394 ASSERT_NE(ret, 0);
395 }
396
397 /**
398 * @tc.name: UsbdControlTransfer015
399 * @tc.desc: Test functions to ControlTransfer(const UsbDev &dev, UsbCtrlTransfer &ctrl, std::vector<uint8_t> &data);
400 * @tc.desc: Negative test: parameters exception, devAddr error, standard request: get status(interface)
401 * @tc.type: FUNC
402 */
403 HWTEST_F(UsbdTransferTest, UsbdControlTransfer015, TestSize.Level1)
404 {
405 struct UsbDev dev = {dev_.busNum, DEV_ADDR_255};
406 uint32_t length = LENGTH_NUM_255;
407 uint8_t buffer[LENGTH_NUM_255] = {0};
408 std::vector<uint8_t> bufferdata = {buffer, buffer + length};
409 struct UsbCtrlTransfer ctrlparmas = {0b10000001, 0, 0, 0, 1000};
410 auto ret = g_usbInterface->ControlTransferRead(dev, ctrlparmas, bufferdata);
411 HDF_LOGI("UsbdTransferTest::UsbdControlTransfer015 %{public}d ControlTransfer=%{public}d", __LINE__, ret);
412 ASSERT_NE(ret, 0);
413 }
414
415 /**
416 * @tc.name: UsbdControlTransfer016
417 * @tc.desc: Test functions to ControlTransfer(const UsbDev &dev, UsbCtrlTransfer &ctrl, std::vector<uint8_t> &data);
418 * @tc.desc: Positive test: parameters correctly, standard request: get status(endpoint)
419 * @tc.type: FUNC
420 */
421 HWTEST_F(UsbdTransferTest, UsbdControlTransfer016, TestSize.Level1)
422 {
423 struct UsbDev dev = dev_;
424 uint32_t length = LENGTH_NUM_255;
425 uint8_t buffer[LENGTH_NUM_255] = {0};
426 std::vector<uint8_t> bufferdata = {buffer, buffer + length};
427 struct UsbCtrlTransfer ctrlparmas = {0b10000010, 0, 0, 0, 1000};
428 auto ret = g_usbInterface->ControlTransferRead(dev, ctrlparmas, bufferdata);
429 HDF_LOGI("UsbdTransferTest::UsbdControlTransfer016 %{public}d ControlTransfer=%{public}d", __LINE__, ret);
430 ASSERT_EQ(0, ret);
431 }
432
433 /**
434 * @tc.name: UsbdControlTransfer017
435 * @tc.desc: Test functions to ControlTransfer(const UsbDev &dev, UsbCtrlTransfer &ctrl, std::vector<uint8_t> &data);
436 * @tc.desc: Negative test: parameters exception, busNum error, standard request: get status(endpoint)
437 * @tc.type: FUNC
438 */
439 HWTEST_F(UsbdTransferTest, UsbdControlTransfer017, TestSize.Level1)
440 {
441 struct UsbDev dev = {BUS_NUM_255, dev_.devAddr};
442 uint32_t length = LENGTH_NUM_255;
443 uint8_t buffer[LENGTH_NUM_255] = {0};
444 std::vector<uint8_t> bufferdata = {buffer, buffer + length};
445 struct UsbCtrlTransfer ctrlparmas = {0b10000010, 0, 0, 0, 1000};
446 auto ret = g_usbInterface->ControlTransferRead(dev, ctrlparmas, bufferdata);
447 HDF_LOGI("UsbdTransferTest::UsbdControlTransfer017 %{public}d ControlTransfer=%{public}d", __LINE__, ret);
448 ASSERT_NE(ret, 0);
449 }
450
451 /**
452 * @tc.name: UsbdControlTransfer018
453 * @tc.desc: Test functions to ControlTransfer(const UsbDev &dev, UsbCtrlTransfer &ctrl, std::vector<uint8_t> &data);
454 * @tc.desc: Negative test: parameters exception, devAddr error, standard request: get status(endpoint)
455 * @tc.type: FUNC
456 */
457 HWTEST_F(UsbdTransferTest, UsbdControlTransfer018, TestSize.Level1)
458 {
459 struct UsbDev dev = {dev_.busNum, DEV_ADDR_255};
460 uint32_t length = LENGTH_NUM_255;
461 uint8_t buffer[LENGTH_NUM_255] = {0};
462 std::vector<uint8_t> bufferdata = {buffer, buffer + length};
463 struct UsbCtrlTransfer ctrlparmas = {0b10000010, 0, 0, 0, 1000};
464 auto ret = g_usbInterface->ControlTransferRead(dev, ctrlparmas, bufferdata);
465 HDF_LOGI("UsbdTransferTest::UsbdControlTransfer018 %{public}d ControlTransfer=%{public}d", __LINE__, ret);
466 ASSERT_NE(ret, 0);
467 }
468
469 /**
470 * @tc.name: UsbdControlTransfer019
471 * @tc.desc: Test functions to ControlTransfer(const UsbDev &dev, UsbCtrlTransfer &ctrl, std::vector<uint8_t> &data);
472 * @tc.desc: Positive test: parameters correctly, standard request: sync frame
473 * @tc.type: FUNC
474 */
475 HWTEST_F(UsbdTransferTest, UsbdControlTransfer019, TestSize.Level1)
476 {
477 struct UsbDev dev = dev_;
478 uint32_t length = LENGTH_NUM_255;
479 uint8_t buffer[LENGTH_NUM_255] = {};
480 std::vector<uint8_t> bufferdata = {buffer, buffer + length};
481 struct UsbCtrlTransfer ctrlparmas = {0b10000010, 0X0C, 0, 0, 1000};
482 auto ret = g_usbInterface->ControlTransferRead(dev, ctrlparmas, bufferdata);
483 HDF_LOGI("UsbdTransferTest::UsbdControlTransfer019 %{public}d ControlTransfer=%{public}d", __LINE__, ret);
484 ASSERT_EQ(0, ret);
485 }
486
487 /**
488 * @tc.name: UsbdControlTransfer020
489 * @tc.desc: Test functions to ControlTransfer(const UsbDev &dev, UsbCtrlTransfer &ctrl, std::vector<uint8_t> &data);
490 * @tc.desc: Negative test: parameters exception, busNum error, standard request: sync frame
491 * @tc.type: FUNC
492 */
493 HWTEST_F(UsbdTransferTest, UsbdControlTransfer020, TestSize.Level1)
494 {
495 struct UsbDev dev = {BUS_NUM_255, dev_.devAddr};
496 uint32_t length = LENGTH_NUM_255;
497 uint8_t buffer[LENGTH_NUM_255] = {};
498 std::vector<uint8_t> bufferdata = {buffer, buffer + length};
499 struct UsbCtrlTransfer ctrlparmas = {0b10000010, 0X0C, 0, 0, 1000};
500 auto ret = g_usbInterface->ControlTransferRead(dev, ctrlparmas, bufferdata);
501 HDF_LOGI("UsbdTransferTest::UsbdControlTransfer020 %{public}d ControlTransfer=%{public}d", __LINE__, ret);
502 ASSERT_NE(ret, 0);
503 }
504
505 /**
506 * @tc.name: UsbdControlTransfer021
507 * @tc.desc: Test functions to ControlTransfer(const UsbDev &dev, UsbCtrlTransfer &ctrl, std::vector<uint8_t> &data);
508 * @tc.desc: Negative test: parameters exception, devAddr error, standard request: sync frame
509 * @tc.type: FUNC
510 */
511 HWTEST_F(UsbdTransferTest, UsbdControlTransfer021, TestSize.Level1)
512 {
513 struct UsbDev dev = {dev_.busNum, DEV_ADDR_255};
514 uint32_t length = LENGTH_NUM_255;
515 uint8_t buffer[LENGTH_NUM_255] = {};
516 std::vector<uint8_t> bufferdata = {buffer, buffer + length};
517 struct UsbCtrlTransfer ctrlparmas = {0b10000010, 0X0C, 0, 0, 1000};
518 auto ret = g_usbInterface->ControlTransferRead(dev, ctrlparmas, bufferdata);
519 HDF_LOGI("UsbdTransferTest::UsbdControlTransfer021 %{public}d ControlTransfer=%{public}d", __LINE__, ret);
520 ASSERT_NE(ret, 0);
521 }
522
523 /**
524 * @tc.name: UsbdBulkTransferRead001
525 * @tc.desc: Test functions to BulkTransferRead(const UsbDev &dev, const UsbPipe &pipe, int32_t timeout,
526 * std::vector<uint8_t> &data);
527 * @tc.desc: Positive test: parameters correctly
528 * @tc.type: FUNC
529 */
530 HWTEST_F(UsbdTransferTest, UsbdBulkTransferRead001, TestSize.Level1)
531 {
532 struct UsbDev dev = dev_;
533 uint8_t interfaceId = INTERFACEID_1;
534 uint8_t pointid = POINTID_BULK_IN;
535 auto ret = g_usbInterface->ClaimInterface(dev, interfaceId, 1);
536 HDF_LOGI("UsbdTransferTest::UsbdBulkTransferRead001 %{public}d ClaimInterface=%{public}d", __LINE__, ret);
537 ASSERT_EQ(0, ret);
538 uint8_t buffer[LENGTH_NUM_255] = {0};
539 uint32_t length = LENGTH_NUM_255;
540 struct UsbPipe pipe = {interfaceId, pointid};
541 std::vector<uint8_t> bufferdata = {buffer, buffer + length};
542 ret = g_usbInterface->BulkTransferRead(dev, pipe, 1000, bufferdata);
543 HDF_LOGI("UsbdTransferTest::UsbdBulkTransferRead001 %{public}d UsbdBulkTransferRead=%{public}d", __LINE__, ret);
544 ASSERT_EQ(0, ret);
545 }
546
547 /**
548 * @tc.name: UsbdBulkTransferRead002
549 * @tc.desc: Test functions to BulkTransferRead(const UsbDev &dev, const UsbPipe &pipe, int32_t timeout,
550 * std::vector<uint8_t> &data);
551 * @tc.desc: Negative test: parameters exception, busNum error
552 * @tc.type: FUNC
553 */
554 HWTEST_F(UsbdTransferTest, UsbdBulkTransferRead002, TestSize.Level1)
555 {
556 struct UsbDev dev = dev_;
557 uint8_t interfaceId = INTERFACEID_1;
558 uint8_t pointid = POINTID_BULK_IN;
559 auto ret = g_usbInterface->ClaimInterface(dev, interfaceId, 1);
560 HDF_LOGI("UsbdTransferTest::UsbdBulkTransferRead002 %{public}d ClaimInterface=%{public}d", __LINE__, ret);
561 ASSERT_EQ(0, ret);
562 dev.busNum = BUS_NUM_222;
563 uint32_t length = 100;
564 uint8_t buffer[100] = {0};
565 struct UsbPipe pipe = {interfaceId, pointid};
566 std::vector<uint8_t> bufferdata = {buffer, buffer + length};
567 ret = g_usbInterface->BulkTransferRead(dev, pipe, 1000, bufferdata);
568 HDF_LOGI("UsbdTransferTest::UsbdBulkTransferRead002 %{public}d UsbdBulkTransferRead=%{public}d", __LINE__, ret);
569 ASSERT_NE(ret, 0);
570 }
571
572 /**
573 * @tc.name: UsbdBulkTransferRead003
574 * @tc.desc: Test functions to BulkTransferRead(const UsbDev &dev, const UsbPipe &pipe, int32_t timeout,
575 * std::vector<uint8_t> &data);
576 * @tc.desc: Negative test: parameters exception, devAddr error
577 * @tc.type: FUNC
578 */
579 HWTEST_F(UsbdTransferTest, UsbdBulkTransferRead003, TestSize.Level1)
580 {
581 struct UsbDev dev = dev_;
582 uint8_t interfaceId = INTERFACEID_1;
583 uint8_t pointid = POINTID_BULK_IN;
584 auto ret = g_usbInterface->ClaimInterface(dev, interfaceId, 1);
585 HDF_LOGI("UsbdTransferTest::UsbdBulkTransferRead003 %{public}d ClaimInterface=%{public}d", __LINE__, ret);
586 ASSERT_EQ(0, ret);
587 dev.devAddr = DEV_ADDR_244;
588 uint32_t length = 100;
589 uint8_t buffer[100] = {0};
590 struct UsbPipe pipe = {interfaceId, pointid};
591 std::vector<uint8_t> bufferdata = {buffer, buffer + length};
592 ret = g_usbInterface->BulkTransferRead(dev, pipe, 1000, bufferdata);
593 HDF_LOGI("UsbdTransferTest::UsbdBulkTransferRead003 %{public}d UsbdBulkTransferRead=%{public}d", __LINE__, ret);
594 ASSERT_NE(ret, 0);
595 }
596
597 /**
598 * @tc.name: UsbdBulkTransferRead004
599 * @tc.desc: Test functions to BulkTransferRead(const UsbDev &dev, const UsbPipe &pipe, int32_t timeout,
600 * std::vector<uint8_t> &data);
601 * @tc.desc: Negative test: parameters exception, intfId error
602 * @tc.type: FUNC
603 */
604 HWTEST_F(UsbdTransferTest, UsbdBulkTransferRead004, TestSize.Level1)
605 {
606 struct UsbDev dev = dev_;
607 uint8_t interfaceId = INTERFACEID_1;
608 uint8_t pointid = POINTID_BULK_IN;
609 auto ret = g_usbInterface->ClaimInterface(dev, interfaceId, 1);
610 HDF_LOGI("UsbdTransferTest::UsbdBulkTransferRead004 %{public}d ClaimInterface=%{public}d", __LINE__, ret);
611 ASSERT_EQ(0, ret);
612 uint8_t buffer[100] = {0};
613 uint32_t length = 100;
614 struct UsbPipe pipe = {interfaceId, pointid};
615 pipe.intfId = PIPE_INTERFACEID_244;
616 std::vector<uint8_t> bufferdata = {buffer, buffer + length};
617 ret = g_usbInterface->BulkTransferRead(dev, pipe, 1000, bufferdata);
618 HDF_LOGI("UsbdTransferTest::UsbdBulkTransferRead004 %{public}d UsbdBulkTransferRead=%{public}d", __LINE__, ret);
619 ASSERT_NE(ret, 0);
620 }
621
622 /**
623 * @tc.name: UsbdBulkTransferRead005
624 * @tc.desc: Test functions to BulkTransferRead(const UsbDev &dev, const UsbPipe &pipe, int32_t timeout,
625 * std::vector<uint8_t> &data);
626 * @tc.desc: Negative test: parameters exception, endpointId error
627 * @tc.type: FUNC
628 */
629 HWTEST_F(UsbdTransferTest, UsbdBulkTransferRead005, TestSize.Level1)
630 {
631 struct UsbDev dev = dev_;
632 uint8_t interfaceId = INTERFACEID_1;
633 uint8_t pointid = POINTID_BULK_IN;
634 auto ret = g_usbInterface->ClaimInterface(dev, interfaceId, 1);
635 HDF_LOGI("UsbdTransferTest::UsbdBulkTransferRead005 %{public}d ClaimInterface=%{public}d", __LINE__, ret);
636 ASSERT_EQ(0, ret);
637 uint32_t length = 100;
638 uint8_t buffer[100] = {};
639 struct UsbPipe pipe = {interfaceId, pointid};
640 pipe.endpointId = PIPE_ENDPOINTID_244;
641 std::vector<uint8_t> bufferdata = {buffer, buffer + length};
642 ret = g_usbInterface->BulkTransferRead(dev, pipe, 1000, bufferdata);
643 HDF_LOGI("UsbdTransferTest::UsbdBulkTransferRead005 %{public}d UsbdBulkTransferRead=%{public}d", __LINE__, ret);
644 ASSERT_NE(ret, 0);
645 }
646
647 /**
648 * @tc.name: UsbdBulkTransferWrite001
649 * @tc.desc: Test functions to BulkTransferWrite(const UsbDev &dev, const UsbPipe &pipe, int32_t timeout,
650 * std::vector<uint8_t> &data);
651 * @tc.desc: Positive test: parameters correctly
652 * @tc.type: FUNC
653 */
654 HWTEST_F(UsbdTransferTest, UsbdBulkTransferWrite001, TestSize.Level1)
655 {
656 struct UsbDev dev = dev_;
657 uint8_t interfaceId = INTERFACEID_1;
658 uint8_t pointid = POINTID_1;
659 auto ret = g_usbInterface->ClaimInterface(dev, interfaceId, 1);
660 HDF_LOGI("UsbdTransferTest::UsbdBulkTransferWrite001 %{public}d ClaimInterface=%{public}d", __LINE__, ret);
661 ASSERT_EQ(0, ret);
662 uint32_t length = 100;
663 uint8_t buffer[100] = "hello world bulk writ01";
664 struct UsbPipe pipe = {interfaceId, pointid};
665 std::vector<uint8_t> bufferdata = {buffer, buffer + length};
666 ret = g_usbInterface->BulkTransferWrite(dev, pipe, 1000, bufferdata);
667 HDF_LOGI("UsbdTransferTest::UsbdBulkTransferWrite001 %{public}d BulkTransferWrite=%{public}d", __LINE__, ret);
668 ASSERT_EQ(0, ret);
669 }
670
671 /**
672 * @tc.name: UsbdBulkTransferWrite002
673 * @tc.desc: Test functions to BulkTransferWrite(const UsbDev &dev, const UsbPipe &pipe, int32_t timeout,
674 * std::vector<uint8_t> &data);
675 * @tc.desc: Negative test: parameters exception, busNum error
676 * @tc.type: FUNC
677 */
678 HWTEST_F(UsbdTransferTest, UsbdBulkTransferWrite002, TestSize.Level1)
679 {
680 struct UsbDev dev = dev_;
681 uint8_t interfaceId = INTERFACEID_1;
682 uint8_t pointid = POINTID_1;
683 auto ret = g_usbInterface->ClaimInterface(dev, interfaceId, 1);
684 HDF_LOGI("UsbdTransferTest::UsbdBulkTransferWrite002 %{public}d ClaimInterface=%{public}d", __LINE__, ret);
685 ASSERT_EQ(0, ret);
686 struct UsbPipe pipe = {interfaceId, pointid};
687 dev.busNum = BUS_NUM_99;
688 uint32_t length = 100;
689 uint8_t buffer[100] = "hello world bulk writ02";
690 std::vector<uint8_t> bufferdata = {buffer, buffer + length};
691 ret = g_usbInterface->BulkTransferWrite(dev, pipe, 1000, bufferdata);
692 HDF_LOGI("UsbdTransferTest::UsbdBulkTransferWrite002 %{public}d BulkTransferWrite=%{public}d", __LINE__, ret);
693 ASSERT_NE(ret, 0);
694 }
695
696 /**
697 * @tc.name: UsbdBulkTransferWrite003
698 * @tc.desc: Test functions to BulkTransferWrite(const UsbDev &dev, const UsbPipe &pipe, int32_t timeout,
699 * std::vector<uint8_t> &data);
700 * @tc.desc: Negative test: parameters exception, devAddr error
701 * @tc.type: FUNC
702 */
703 HWTEST_F(UsbdTransferTest, UsbdBulkTransferWrite003, TestSize.Level1)
704 {
705 struct UsbDev dev = dev_;
706 uint8_t interfaceId = INTERFACEID_1;
707 uint8_t pointid = POINTID_1;
708 auto ret = g_usbInterface->ClaimInterface(dev, interfaceId, 1);
709 HDF_LOGI("UsbdTransferTest::UsbdBulkTransferWrite003 %{public}d ClaimInterface=%{public}d", __LINE__, ret);
710 ASSERT_EQ(0, ret);
711 dev.devAddr = DEV_ADDR_244;
712 uint32_t length = 100;
713 uint8_t buffer[100] = "hello world bulk writ03";
714 struct UsbPipe pipe = {interfaceId, pointid};
715 std::vector<uint8_t> bufferdata = {buffer, buffer + length};
716 ret = g_usbInterface->BulkTransferWrite(dev, pipe, 1000, bufferdata);
717 HDF_LOGI("UsbdTransferTest::UsbdBulkTransferWrite003 %{public}d BulkTransferWrite=%{public}d", __LINE__, ret);
718 ASSERT_NE(ret, 0);
719 }
720
721 /**
722 * @tc.name: UsbdBulkTransferWrite004
723 * @tc.desc: Test functions to BulkTransferWrite(const UsbDev &dev, const UsbPipe &pipe, int32_t timeout,
724 * std::vector<uint8_t> &data);
725 * @tc.desc: Negative test: parameters exception, intfId error
726 * @tc.type: FUNC
727 */
728 HWTEST_F(UsbdTransferTest, UsbdBulkTransferWrite004, TestSize.Level1)
729 {
730 struct UsbDev dev = dev_;
731 uint8_t interfaceId = INTERFACEID_1;
732 uint8_t pointid = POINTID_1;
733 auto ret = g_usbInterface->ClaimInterface(dev, interfaceId, 1);
734 HDF_LOGI("UsbdTransferTest::UsbdBulkTransferWrite004 %{public}d ClaimInterface=%{public}d", __LINE__, ret);
735 ASSERT_EQ(0, ret);
736 struct UsbPipe pipe = {interfaceId, pointid};
737 pipe.intfId = PIPE_INTERFACEID_255;
738 uint32_t length = 100;
739 uint8_t buffer[100] = "hello world bulk writ04";
740 std::vector<uint8_t> bufferdata = {buffer, buffer + length};
741 ret = g_usbInterface->BulkTransferWrite(dev, pipe, 1000, bufferdata);
742 HDF_LOGI("UsbdTransferTest::UsbdBulkTransferWrite004 %{public}d BulkTransferWrite=%{public}d", __LINE__, ret);
743 ASSERT_NE(ret, 0);
744 }
745
746 /**
747 * @tc.name: UsbdBulkTransferWrite005
748 * @tc.desc: Test functions to BulkTransferWrite(const UsbDev &dev, const UsbPipe &pipe, int32_t timeout,
749 * std::vector<uint8_t> &data);
750 * @tc.desc: Negative test: parameters exception, endpointId error
751 * @tc.type: FUNC
752 */
753 HWTEST_F(UsbdTransferTest, UsbdBulkTransferWrite005, TestSize.Level1)
754 {
755 struct UsbDev dev = dev_;
756 uint8_t interfaceId = INTERFACEID_1;
757 uint8_t pointid = POINTID_1;
758 auto ret = g_usbInterface->ClaimInterface(dev, interfaceId, 1);
759 HDF_LOGI("UsbdTransferTest::UsbdBulkTransferWrite005 %{public}d ClaimInterface=%{public}d", __LINE__, ret);
760 ASSERT_EQ(0, ret);
761 struct UsbPipe pipe = {interfaceId, pointid};
762 pipe.endpointId = PIPE_ENDPOINTID_255;
763 uint32_t length = 100;
764 uint8_t buffer[100] = "hello world bulk writ05";
765 std::vector<uint8_t> bufferdata = {buffer, buffer + length};
766 ret = g_usbInterface->BulkTransferWrite(dev, pipe, 1000, bufferdata);
767 HDF_LOGI("UsbdTransferTest::UsbdBulkTransferWrite005 %{public}d BulkTransferWrite=%{public}d", __LINE__, ret);
768 ASSERT_NE(ret, 0);
769 }
770
771 /**
772 * @tc.name: UsbdBulkTransferWrite006
773 * @tc.desc: Test functions to BulkTransferWrite(const UsbDev &dev, const UsbPipe &pipe, int32_t timeout,
774 * std::vector<uint8_t> &data);
775 * @tc.desc: Negative test: parameters exception, busNum && devAddr error
776 * @tc.type: FUNC
777 */
778 HWTEST_F(UsbdTransferTest, UsbdBulkTransferWrite006, TestSize.Level1)
779 {
780 struct UsbDev dev = dev_;
781 uint8_t interfaceId = INTERFACEID_1;
782 uint8_t pointid = POINTID_1;
783 auto ret = g_usbInterface->ClaimInterface(dev, interfaceId, 1);
784 HDF_LOGI("UsbdTransferTest::UsbdBulkTransferWrite006 %{public}d ClaimInterface=%{public}d", __LINE__, ret);
785 ASSERT_EQ(0, ret);
786 struct UsbPipe pipe = {interfaceId, pointid};
787 dev.busNum = BUS_NUM_99;
788 dev.devAddr = DEV_ADDR_99;
789 uint32_t length = 100;
790 uint8_t buffer[100] = "hello world bulk writ06";
791 std::vector<uint8_t> bufferdata = {buffer, buffer + length};
792 ret = g_usbInterface->BulkTransferWrite(dev, pipe, 1000, bufferdata);
793 HDF_LOGI("UsbdTransferTest::UsbdBulkTransferWrite006 %{public}d BulkTransferWrite=%{public}d", __LINE__, ret);
794 ASSERT_NE(ret, 0);
795 }
796
797 /**
798 * @tc.name: UsbdBulkTransferWrite007
799 * @tc.desc: Test functions to BulkTransferWrite(const UsbDev &dev, const UsbPipe &pipe, int32_t timeout,
800 * std::vector<uint8_t> &data);
801 * @tc.desc: Negative test: parameters exception, ClaimInterface failed first
802 * @tc.type: FUNC
803 */
804 HWTEST_F(UsbdTransferTest, UsbdBulkTransferWrite007, TestSize.Level1)
805 {
806 struct UsbDev dev = dev_;
807 uint8_t interfaceId = INTERFACEID_1;
808 uint8_t pointid = POINTID_99;
809 auto ret = g_usbInterface->ClaimInterface(dev, interfaceId, 1);
810 HDF_LOGI("UsbdTransferTest::UsbdBulkTransferWrite007 %{public}d ClaimInterface=%{public}d", __LINE__, ret);
811 ASSERT_EQ(0, ret);
812 struct UsbPipe pipe = {interfaceId, pointid};
813 uint32_t length = 100;
814 uint8_t buffer[100] = "hello world bulk writ07";
815 std::vector<uint8_t> bufferdata = {buffer, buffer + length};
816 ret = g_usbInterface->BulkTransferWrite(dev, pipe, 1000, bufferdata);
817 HDF_LOGI("UsbdTransferTest::UsbdBulkTransferWrite007 %{public}d BulkTransferWrite=%{public}d", __LINE__, ret);
818 ASSERT_NE(ret, 0);
819 }
820
821 /**
822 * @tc.name: UsbdBulkTransferWrite008
823 * @tc.desc: Test functions to BulkTransferWrite(const UsbDev &dev, const UsbPipe &pipe, int32_t timeout,
824 * std::vector<uint8_t> &data);
825 * @tc.desc: Positive test: parameters correctly, different in timeout
826 * @tc.type: FUNC
827 */
828 HWTEST_F(UsbdTransferTest, UsbdBulkTransferWrite008, TestSize.Level1)
829 {
830 struct UsbDev dev = dev_;
831 uint8_t interfaceId = INTERFACEID_1;
832 uint8_t pointid = POINTID_1;
833 auto ret = g_usbInterface->ClaimInterface(dev, interfaceId, 1);
834 HDF_LOGI("UsbdTransferTest::UsbdBulkTransferWrite008 %{public}d ClaimInterface=%{public}d", __LINE__, ret);
835 ASSERT_EQ(0, ret);
836 struct UsbPipe pipe = {interfaceId, pointid};
837 uint32_t length = 100;
838 uint8_t buffer[100] = "hello world bulk writ08";
839 std::vector<uint8_t> bufferdata = {buffer, buffer + length};
840 ret = g_usbInterface->BulkTransferWrite(dev, pipe, -1, bufferdata);
841 HDF_LOGI("UsbdTransferTest::UsbdBulkTransferWrite008 %{public}d BulkTransferWrite=%{public}d", __LINE__, ret);
842 ASSERT_EQ(0, ret);
843 }
844
845 /**
846 * @tc.name: InterruptTransferRead001
847 * @tc.desc: Test functions to InterruptTransferRead(const UsbDev &dev, const UsbPipe &pipe, int32_t timeout,
848 * std::vector<uint8_t> &data);
849 * @tc.desc: Positive test: parameters correctly
850 * @tc.type: FUNC
851 */
852 HWTEST_F(UsbdTransferTest, UsbdInterruptTransferRead001, TestSize.Level1)
853 {
854 struct UsbDev dev = dev_;
855 uint8_t interfaceId = INTERFACEID_1;
856 uint8_t pointid = POINTID_129;
857 auto ret = g_usbInterface->ClaimInterface(dev, interfaceId, 1);
858 HDF_LOGI("UsbdTransferTest::UsbdInterruptTransferRead001 %{public}d ClaimInterface=%{public}d", __LINE__, ret);
859 ASSERT_EQ(0, ret);
860 uint8_t buffer[LENGTH_NUM_255] = {0};
861 uint32_t length = LENGTH_NUM_255;
862 struct UsbPipe pipe = {interfaceId, pointid};
863 std::vector<uint8_t> bufferdata = {buffer, buffer + length};
864 ret = g_usbInterface->InterruptTransferRead(dev, pipe, 1000, bufferdata);
865 HDF_LOGI("UsbdTransferTest::UsbdInterruptTransferRead001 %{public}d UsbdInterruptTransferRead=%{public}d", __LINE__,
866 ret);
867 ASSERT_EQ(0, ret);
868 }
869
870 /**
871 * @tc.name: UsbdInterruptTransferRead002
872 * @tc.desc: Test functions to InterruptTransferRead(const UsbDev &dev, const UsbPipe &pipe, int32_t timeout,
873 * std::vector<uint8_t> &data);
874 * @tc.desc: Negative test: parameters exception, busNum error
875 * @tc.type: FUNC
876 */
877 HWTEST_F(UsbdTransferTest, UsbdInterruptTransferRead002, TestSize.Level1)
878 {
879 struct UsbDev dev = dev_;
880 uint8_t interfaceId = INTERFACEID_1;
881 uint8_t pointid = POINTID_129;
882 auto ret = g_usbInterface->ClaimInterface(dev, interfaceId, 1);
883 HDF_LOGI("UsbdTransferTest::UsbdInterruptTransferRead002 %{public}d ClaimInterface=%{public}d", __LINE__, ret);
884 ASSERT_EQ(0, ret);
885 dev.busNum = BUS_NUM_222;
886 uint32_t length = 100;
887 uint8_t buffer[100] = {0};
888 struct UsbPipe pipe = {interfaceId, pointid};
889 std::vector<uint8_t> bufferdata = {buffer, buffer + length};
890 ret = g_usbInterface->InterruptTransferRead(dev, pipe, 1000, bufferdata);
891 HDF_LOGI("UsbdTransferTest::UsbdInterruptTransferRead002 %{public}d UsbdInterruptTransferRead=%{public}d", __LINE__,
892 ret);
893 ASSERT_NE(ret, 0);
894 }
895
896 /**
897 * @tc.name: UsbdInterruptTransferRead003
898 * @tc.desc: Test functions to InterruptTransferRead(const UsbDev &dev, const UsbPipe &pipe, int32_t timeout,
899 * std::vector<uint8_t> &data);
900 * @tc.desc: Negative test: parameters exception, devAddr error
901 * @tc.type: FUNC
902 */
903 HWTEST_F(UsbdTransferTest, UsbdInterruptTransferRead003, TestSize.Level1)
904 {
905 struct UsbDev dev = dev_;
906 uint8_t interfaceId = INTERFACEID_1;
907 uint8_t pointid = POINTID_129;
908 auto ret = g_usbInterface->ClaimInterface(dev, interfaceId, 1);
909 HDF_LOGI("UsbdTransferTest::UsbdInterruptTransferRead003 %{public}d ClaimInterface=%{public}d", __LINE__, ret);
910 ASSERT_EQ(0, ret);
911 dev.devAddr = DEV_ADDR_244;
912 uint32_t length = 100;
913 uint8_t buffer[100] = {0};
914 struct UsbPipe pipe = {interfaceId, pointid};
915 std::vector<uint8_t> bufferdata = {buffer, buffer + length};
916 ret = g_usbInterface->InterruptTransferRead(dev, pipe, 1000, bufferdata);
917 ASSERT_NE(ret, 0);
918 }
919
920 /**
921 * @tc.name: UsbdInterruptTransferRead004
922 * @tc.desc: Test functions to InterruptTransferRead(const UsbDev &dev, const UsbPipe &pipe, int32_t timeout,
923 * std::vector<uint8_t> &data);
924 * @tc.desc: Negative test: parameters exception, intfId error
925 * @tc.type: FUNC
926 */
927 HWTEST_F(UsbdTransferTest, UsbdInterruptTransferRead004, TestSize.Level1)
928 {
929 struct UsbDev dev = dev_;
930 uint8_t interfaceId = INTERFACEID_1;
931 uint8_t pointid = POINTID_129;
932 auto ret = g_usbInterface->ClaimInterface(dev, interfaceId, 1);
933 HDF_LOGI("UsbdTransferTest::UsbdInterruptTransferRead004 %{public}d ClaimInterface=%{public}d", __LINE__, ret);
934 ASSERT_EQ(0, ret);
935 uint8_t buffer[100] = {0};
936 uint32_t length = 100;
937 struct UsbPipe pipe = {interfaceId, pointid};
938 pipe.intfId = PIPE_INTERFACEID_244;
939 std::vector<uint8_t> bufferdata = {buffer, buffer + length};
940 ret = g_usbInterface->InterruptTransferRead(dev, pipe, 1000, bufferdata);
941 HDF_LOGI("UsbdTransferTest::UsbdInterruptTransferRead004 %{public}d UsbdInterruptTransferRead=%{public}d", __LINE__,
942 ret);
943 ASSERT_NE(ret, 0);
944 }
945
946 /**
947 * @tc.name: UsbdInterruptTransferRead005
948 * @tc.desc: Test functions to InterruptTransferRead(const UsbDev &dev, const UsbPipe &pipe, int32_t timeout,
949 * std::vector<uint8_t> &data);
950 * @tc.desc: Negative test: parameters exception, endpointId error
951 * @tc.type: FUNC
952 */
953 HWTEST_F(UsbdTransferTest, UsbdInterruptTransferRead005, TestSize.Level1)
954 {
955 struct UsbDev dev = dev_;
956 uint8_t interfaceId = INTERFACEID_1;
957 uint8_t pointid = POINTID_129;
958 auto ret = g_usbInterface->ClaimInterface(dev, interfaceId, 1);
959 HDF_LOGI("UsbdTransferTest::UsbdInterruptTransferRead005 %{public}d ClaimInterface=%{public}d", __LINE__, ret);
960 ASSERT_EQ(0, ret);
961 uint32_t length = 100;
962 uint8_t buffer[100] = {};
963 struct UsbPipe pipe = {interfaceId, pointid};
964 pipe.endpointId = PIPE_ENDPOINTID_244;
965 std::vector<uint8_t> bufferdata = {buffer, buffer + length};
966 ret = g_usbInterface->InterruptTransferRead(dev, pipe, 1000, bufferdata);
967 HDF_LOGI("UsbdTransferTest::UsbdInterruptTransferRead005 %{public}d UsbdInterruptTransferRead=%{public}d", __LINE__,
968 ret);
969 ASSERT_NE(ret, 0);
970 }
971
972 /**
973 * @tc.name: UsbdInterruptTransferWrite001
974 * @tc.desc: Test functions to InterruptTransferWrite(const UsbDev &dev, const UsbPipe &pipe, int32_t timeout,
975 * std::vector<uint8_t> &data);
976 * @tc.desc: Positive test: parameters correctly
977 * @tc.type: FUNC
978 */
979 HWTEST_F(UsbdTransferTest, UsbdInterruptTransferWrite001, TestSize.Level1)
980 {
981 struct UsbDev dev = dev_;
982 uint8_t interfaceId = INTERFACEID_1;
983 uint8_t pointid = POINTID_1;
984 auto ret = g_usbInterface->ClaimInterface(dev, interfaceId, 1);
985 HDF_LOGI("UsbdTransferTest::UsbdInterruptTransferWrite001 %{public}d ClaimInterface=%{public}d", __LINE__, ret);
986 ASSERT_EQ(0, ret);
987 uint32_t length = 100;
988 uint8_t buffer[100] = "hello world Interrupt writ01";
989 struct UsbPipe pipe = {interfaceId, pointid};
990 std::vector<uint8_t> bufferdata = {buffer, buffer + length};
991 ret = g_usbInterface->InterruptTransferWrite(dev, pipe, 1000, bufferdata);
992 HDF_LOGI(
993 "UsbdTransferTest::UsbdInterruptTransferWrite001 %{public}d InterruptTransferWrite=%{public}d", __LINE__, ret);
994 ASSERT_EQ(0, ret);
995 }
996
997 /**
998 * @tc.name: UsbdInterruptTransferWrite002
999 * @tc.desc: Test functions to InterruptTransferWrite(const UsbDev &dev, const UsbPipe &pipe, int32_t timeout,
1000 * std::vector<uint8_t> &data);
1001 * @tc.desc: Negative test: parameters exception, busNum error
1002 * @tc.type: FUNC
1003 */
1004 HWTEST_F(UsbdTransferTest, UsbdInterruptTransferWrite002, TestSize.Level1)
1005 {
1006 struct UsbDev dev = dev_;
1007 uint8_t interfaceId = INTERFACEID_1;
1008 uint8_t pointid = POINTID_1;
1009 auto ret = g_usbInterface->ClaimInterface(dev, interfaceId, 1);
1010 HDF_LOGI("UsbdTransferTest::UsbdInterruptTransferWrite002 %{public}d ClaimInterface=%{public}d", __LINE__, ret);
1011 ASSERT_EQ(0, ret);
1012 struct UsbPipe pipe = {interfaceId, pointid};
1013 dev.busNum = BUS_NUM_99;
1014 uint32_t length = 100;
1015 uint8_t buffer[100] = "hello world Interrupt writ02";
1016 std::vector<uint8_t> bufferdata = {buffer, buffer + length};
1017 ret = g_usbInterface->InterruptTransferWrite(dev, pipe, 1000, bufferdata);
1018 HDF_LOGI(
1019 "UsbdTransferTest::UsbdInterruptTransferWrite002 %{public}d InterruptTransferWrite=%{public}d", __LINE__, ret);
1020 ASSERT_NE(ret, 0);
1021 }
1022
1023 /**
1024 * @tc.name: UsbdInterruptTransferWrite003
1025 * @tc.desc: Test functions to InterruptTransferWrite(const UsbDev &dev, const UsbPipe &pipe, int32_t timeout,
1026 * std::vector<uint8_t> &data);
1027 * @tc.desc: Negative test: parameters exception, devAddr error
1028 * @tc.type: FUNC
1029 */
1030 HWTEST_F(UsbdTransferTest, UsbdInterruptTransferWrite003, TestSize.Level1)
1031 {
1032 struct UsbDev dev = dev_;
1033 uint8_t interfaceId = INTERFACEID_1;
1034 uint8_t pointid = POINTID_1;
1035 auto ret = g_usbInterface->ClaimInterface(dev, interfaceId, 1);
1036 HDF_LOGI("UsbdTransferTest::UsbdInterruptTransferWrite003 %{public}d ClaimInterface=%{public}d", __LINE__, ret);
1037 ASSERT_EQ(0, ret);
1038 dev.devAddr = DEV_ADDR_244;
1039 uint32_t length = 100;
1040 uint8_t buffer[100] = "hello world Interrupt writ03";
1041 struct UsbPipe pipe = {interfaceId, pointid};
1042 std::vector<uint8_t> bufferdata = {buffer, buffer + length};
1043 ret = g_usbInterface->InterruptTransferWrite(dev, pipe, 1000, bufferdata);
1044 HDF_LOGI(
1045 "UsbdTransferTest::UsbdInterruptTransferWrite003 %{public}d InterruptTransferWrite=%{public}d", __LINE__, ret);
1046 ASSERT_NE(ret, 0);
1047 }
1048
1049 /**
1050 * @tc.name: UsbdInterruptTransferWrite004
1051 * @tc.desc: Test functions to InterruptTransferWrite(const UsbDev &dev, const UsbPipe &pipe, int32_t timeout,
1052 * std::vector<uint8_t> &data);
1053 * @tc.desc: Negative test: parameters exception, intfId error
1054 * @tc.type: FUNC
1055 */
1056 HWTEST_F(UsbdTransferTest, UsbdInterruptTransferWrite004, TestSize.Level1)
1057 {
1058 struct UsbDev dev = dev_;
1059 uint8_t interfaceId = INTERFACEID_1;
1060 uint8_t pointid = POINTID_1;
1061 auto ret = g_usbInterface->ClaimInterface(dev, interfaceId, 1);
1062 HDF_LOGI("UsbdTransferTest::UsbdInterruptTransferWrite004 %{public}d ClaimInterface=%{public}d", __LINE__, ret);
1063 ASSERT_EQ(0, ret);
1064 struct UsbPipe pipe = {interfaceId, pointid};
1065 pipe.intfId = PIPE_INTERFACEID_255;
1066 uint32_t length = 100;
1067 uint8_t buffer[100] = "hello world Interrupt writ04";
1068 std::vector<uint8_t> bufferdata = {buffer, buffer + length};
1069 ret = g_usbInterface->InterruptTransferWrite(dev, pipe, 1000, bufferdata);
1070 HDF_LOGI(
1071 "UsbdTransferTest::UsbdInterruptTransferWrite004 %{public}d InterruptTransferWrite=%{public}d", __LINE__, ret);
1072 ASSERT_NE(ret, 0);
1073 }
1074
1075 /**
1076 * @tc.name: UsbdInterruptTransferWrite005
1077 * @tc.desc: Test functions to InterruptTransferWrite(const UsbDev &dev, const UsbPipe &pipe, int32_t timeout,
1078 * std::vector<uint8_t> &data);
1079 * @tc.desc: Negative test: parameters exception, endpointId error
1080 * @tc.type: FUNC
1081 */
1082 HWTEST_F(UsbdTransferTest, UsbdInterruptTransferWrite005, TestSize.Level1)
1083 {
1084 struct UsbDev dev = dev_;
1085 uint8_t interfaceId = INTERFACEID_1;
1086 uint8_t pointid = POINTID_1;
1087 auto ret = g_usbInterface->ClaimInterface(dev, interfaceId, 1);
1088 HDF_LOGI("UsbdTransferTest::UsbdInterruptTransferWrite005 %{public}d ClaimInterface=%{public}d", __LINE__, ret);
1089 ASSERT_EQ(0, ret);
1090 struct UsbPipe pipe = {interfaceId, pointid};
1091 pipe.endpointId = PIPE_ENDPOINTID_255;
1092 uint32_t length = 100;
1093 uint8_t buffer[100] = "hello world Interrupt writ05";
1094 std::vector<uint8_t> bufferdata = {buffer, buffer + length};
1095 ret = g_usbInterface->InterruptTransferWrite(dev, pipe, 1000, bufferdata);
1096 HDF_LOGI(
1097 "UsbdTransferTest::UsbdInterruptTransferWrite005 %{public}d InterruptTransferWrite=%{public}d", __LINE__, ret);
1098 ASSERT_NE(ret, 0);
1099 }
1100
1101 /**
1102 * @tc.name: UsbdInterruptTransferWrite006
1103 * @tc.desc: Test functions to InterruptTransferWrite(const UsbDev &dev, const UsbPipe &pipe, int32_t timeout,
1104 * std::vector<uint8_t> &data);
1105 * @tc.desc: Negative test: parameters exception, busNum && devAddr error
1106 * @tc.type: FUNC
1107 */
1108 HWTEST_F(UsbdTransferTest, UsbdInterruptTransferWrite006, TestSize.Level1)
1109 {
1110 struct UsbDev dev = dev_;
1111 uint8_t interfaceId = INTERFACEID_1;
1112 uint8_t pointid = POINTID_1;
1113 auto ret = g_usbInterface->ClaimInterface(dev, interfaceId, 1);
1114 HDF_LOGI("UsbdTransferTest::UsbdInterruptTransferWrite006 %{public}d ClaimInterface=%{public}d", __LINE__, ret);
1115 ASSERT_EQ(0, ret);
1116 struct UsbPipe pipe = {interfaceId, pointid};
1117 dev.busNum = BUS_NUM_99;
1118 dev.devAddr = DEV_ADDR_99;
1119 uint32_t length = 100;
1120 uint8_t buffer[100] = "hello world Interrupt writ06";
1121 std::vector<uint8_t> bufferdata = {buffer, buffer + length};
1122 ret = g_usbInterface->InterruptTransferWrite(dev, pipe, 1000, bufferdata);
1123 HDF_LOGI(
1124 "UsbdTransferTest::UsbdInterruptTransferWrite006 %{public}d InterruptTransferWrite=%{public}d", __LINE__, ret);
1125 ASSERT_NE(ret, 0);
1126 }
1127
1128 /**
1129 * @tc.name: UsbdInterruptTransferWrite007
1130 * @tc.desc: Test functions to InterruptTransferWrite(const UsbDev &dev, const UsbPipe &pipe, int32_t timeout,
1131 * std::vector<uint8_t> &data);
1132 * @tc.desc: Negative test: parameters exception, ClaimInterface failed first
1133 * @tc.type: FUNC
1134 */
1135 HWTEST_F(UsbdTransferTest, UsbdInterruptTransferWrite007, TestSize.Level1)
1136 {
1137 struct UsbDev dev = dev_;
1138 uint8_t interfaceId = INTERFACEID_1;
1139 uint8_t pointid = POINTID_99;
1140 auto ret = g_usbInterface->ClaimInterface(dev, interfaceId, 1);
1141 HDF_LOGI("UsbdTransferTest::UsbdInterruptTransferWrite007 %{public}d ClaimInterface=%{public}d", __LINE__, ret);
1142 ASSERT_EQ(0, ret);
1143 struct UsbPipe pipe = {interfaceId, pointid};
1144 uint32_t length = 100;
1145 uint8_t buffer[100] = "hello world Interrupt writ07";
1146 std::vector<uint8_t> bufferdata = {buffer, buffer + length};
1147 ret = g_usbInterface->InterruptTransferWrite(dev, pipe, 1000, bufferdata);
1148 HDF_LOGI(
1149 "UsbdTransferTest::UsbdInterruptTransferWrite007 %{public}d InterruptTransferWrite=%{public}d", __LINE__, ret);
1150 ASSERT_NE(ret, 0);
1151 }
1152
1153 /**
1154 * @tc.name: UsbdInterruptTransferWrite008
1155 * @tc.desc: Test functions to InterruptTransferWrite(const UsbDev &dev, const UsbPipe &pipe, int32_t timeout,
1156 * std::vector<uint8_t> &data);
1157 * Positive test: parameters correctly, different in timeout
1158 * @tc.type: FUNC
1159 */
1160 HWTEST_F(UsbdTransferTest, UsbdInterruptTransferWrite008, TestSize.Level1)
1161 {
1162 struct UsbDev dev = dev_;
1163 uint8_t interfaceId = INTERFACEID_1;
1164 uint8_t pointid = POINTID_1;
1165 auto ret = g_usbInterface->ClaimInterface(dev, interfaceId, 1);
1166 HDF_LOGI("UsbdTransferTest::UsbdInterruptTransferWrite008 %{public}d ClaimInterface=%{public}d", __LINE__, ret);
1167 ASSERT_EQ(0, ret);
1168 struct UsbPipe pipe = {interfaceId, pointid};
1169 uint32_t length = 100;
1170 uint8_t buffer[100] = "hello world Interrupt writ08";
1171 std::vector<uint8_t> bufferdata = {buffer, buffer + length};
1172 ret = g_usbInterface->InterruptTransferWrite(dev, pipe, -1, bufferdata);
1173 HDF_LOGI(
1174 "UsbdTransferTest::UsbdInterruptTransferWrite008 %{public}d InterruptTransferWrite=%{public}d", __LINE__, ret);
1175 ASSERT_EQ(0, ret);
1176 }
1177
1178 /**
1179 * @tc.name: UsbdIsoTransferRead001
1180 * @tc.desc: Test functions to IsoTransferRead(const UsbDev &dev, const UsbPipe &pipe, int32_t timeout,
1181 * std::vector<uint8_t> &data);
1182 * @tc.desc: Positive test: parameters correctly
1183 * @tc.type: FUNC
1184 */
1185 HWTEST_F(UsbdTransferTest, UsbdIsoTransferRead001, TestSize.Level1)
1186 {
1187 struct UsbDev dev = dev_;
1188 uint8_t interfaceId = INTERFACEID_1;
1189 uint8_t pointid = POINTID_129;
1190 auto ret = g_usbInterface->ClaimInterface(dev, interfaceId, 1);
1191 HDF_LOGI("UsbdTransferTest::UsbdIsoTransferRead001 %{public}d ClaimInterface=%{public}d", __LINE__, ret);
1192 ASSERT_EQ(0, ret);
1193 uint8_t buffer[LENGTH_NUM_255] = {0};
1194 uint32_t length = LENGTH_NUM_255;
1195 struct UsbPipe pipe = {interfaceId, pointid};
1196 std::vector<uint8_t> bufferdata = {buffer, buffer + length};
1197 ret = g_usbInterface->IsoTransferRead(dev, pipe, 1000, bufferdata);
1198 HDF_LOGI("UsbdTransferTest::UsbdIsoTransferRead001 %{public}d UsbdIsoTransferRead=%{public}d", __LINE__, ret);
1199 ASSERT_EQ(0, ret);
1200 }
1201
1202 /**
1203 * @tc.name: UsbdIsoTransferRead002
1204 * @tc.desc: Test functions to IsoTransferRead(const UsbDev &dev, const UsbPipe &pipe, int32_t timeout,
1205 * std::vector<uint8_t> &data);
1206 * @tc.desc: Negative test: parameters exception, busNum error
1207 * @tc.type: FUNC
1208 */
1209 HWTEST_F(UsbdTransferTest, UsbdIsoTransferRead002, TestSize.Level1)
1210 {
1211 struct UsbDev dev = dev_;
1212 uint8_t interfaceId = INTERFACEID_1;
1213 uint8_t pointid = POINTID_129;
1214 HDF_LOGI("UsbdTransferTest::UsbdIsoTransferRead002 %{public}d interfaceId=%{public}d", __LINE__, interfaceId);
1215 auto ret = g_usbInterface->ClaimInterface(dev, interfaceId, 1);
1216 HDF_LOGI("UsbdTransferTest::UsbdIsoTransferRead002 %{public}d ClaimInterface=%{public}d", __LINE__, ret);
1217 ASSERT_EQ(0, ret);
1218 dev.busNum = BUS_NUM_222;
1219 uint32_t length = 100;
1220 uint8_t buffer[100] = {0};
1221 struct UsbPipe pipe = {interfaceId, pointid};
1222 std::vector<uint8_t> bufferdata = {buffer, buffer + length};
1223 ret = g_usbInterface->IsoTransferRead(dev, pipe, 1000, bufferdata);
1224 HDF_LOGI("UsbdTransferTest::UsbdIsoTransferRead002 %{public}d UsbdIsoTransferRead=%{public}d", __LINE__, ret);
1225 ASSERT_NE(ret, 0);
1226 }
1227
1228 /**
1229 * @tc.name: UsbdIsoTransferRead003
1230 * @tc.desc: Test functions to IsoTransferRead(const UsbDev &dev, const UsbPipe &pipe, int32_t timeout,
1231 * std::vector<uint8_t> &data);
1232 * @tc.desc: Negative test: parameters exception, devAddr error
1233 * @tc.type: FUNC
1234 */
1235 HWTEST_F(UsbdTransferTest, UsbdIsoTransferRead003, TestSize.Level1)
1236 {
1237 struct UsbDev dev = dev_;
1238 uint8_t interfaceId = INTERFACEID_1;
1239 uint8_t pointid = POINTID_129;
1240 auto ret = g_usbInterface->ClaimInterface(dev, interfaceId, 1);
1241 HDF_LOGI("UsbdTransferTest::UsbdIsoTransferRead003 %{public}d ClaimInterface=%{public}d", __LINE__, ret);
1242 ASSERT_EQ(0, ret);
1243 dev.devAddr = DEV_ADDR_244;
1244 uint32_t length = 100;
1245 uint8_t buffer[100] = {0};
1246 struct UsbPipe pipe = {interfaceId, pointid};
1247 std::vector<uint8_t> bufferdata = {buffer, buffer + length};
1248 ret = g_usbInterface->IsoTransferRead(dev, pipe, 1000, bufferdata);
1249 HDF_LOGI("UsbdTransferTest::UsbdIsoTransferRead003 %{public}d UsbdIsoTransferRead=%{public}d", __LINE__, ret);
1250 ASSERT_NE(ret, 0);
1251 }
1252
1253 /**
1254 * @tc.name: UsbdIsoTransferRead004
1255 * @tc.desc: Test functions to IsoTransferRead(const UsbDev &dev, const UsbPipe &pipe, int32_t timeout,
1256 * std::vector<uint8_t> &data);
1257 * @tc.desc: Negative test: parameters exception, intfId error
1258 * @tc.type: FUNC
1259 */
1260 HWTEST_F(UsbdTransferTest, UsbdIsoTransferRead004, TestSize.Level1)
1261 {
1262 struct UsbDev dev = dev_;
1263 uint8_t interfaceId = INTERFACEID_1;
1264 uint8_t pointid = POINTID_129;
1265 auto ret = g_usbInterface->ClaimInterface(dev, interfaceId, 1);
1266 HDF_LOGI("UsbdTransferTest::UsbdIsoTransferRead004 %{public}d ClaimInterface=%{public}d", __LINE__, ret);
1267 ASSERT_EQ(0, ret);
1268 uint8_t buffer[100] = {0};
1269 uint32_t length = 100;
1270 struct UsbPipe pipe = {interfaceId, pointid};
1271 pipe.intfId = PIPE_INTERFACEID_244;
1272 std::vector<uint8_t> bufferdata = {buffer, buffer + length};
1273 ret = g_usbInterface->IsoTransferRead(dev, pipe, 1000, bufferdata);
1274 HDF_LOGI("UsbdTransferTest::UsbdIsoTransferRead004 %{public}d UsbdIsoTransferRead=%{public}d", __LINE__, ret);
1275 ASSERT_NE(ret, 0);
1276 }
1277
1278 /**
1279 * @tc.name: UsbdIsoTransferRead005
1280 * @tc.desc: Test functions to IsoTransferRead(const UsbDev &dev, const UsbPipe &pipe, int32_t timeout,
1281 * std::vector<uint8_t> &data);
1282 * @tc.desc: Negative test: parameters exception, endpointId error
1283 * @tc.type: FUNC
1284 */
1285 HWTEST_F(UsbdTransferTest, UsbdIsoTransferRead005, TestSize.Level1)
1286 {
1287 struct UsbDev dev = dev_;
1288 uint8_t interfaceId = INTERFACEID_1;
1289 uint8_t pointid = POINTID_129;
1290 auto ret = g_usbInterface->ClaimInterface(dev, interfaceId, 1);
1291 HDF_LOGI("UsbdTransferTest::UsbdIsoTransferRead005 %{public}d ClaimInterface=%{public}d", __LINE__, ret);
1292 ASSERT_EQ(0, ret);
1293 uint32_t length = 100;
1294 uint8_t buffer[100] = {};
1295 struct UsbPipe pipe = {interfaceId, pointid};
1296 pipe.endpointId = PIPE_ENDPOINTID_244;
1297 std::vector<uint8_t> bufferdata = {buffer, buffer + length};
1298 ret = g_usbInterface->IsoTransferRead(dev, pipe, 1000, bufferdata);
1299 HDF_LOGI("UsbdTransferTest::UsbdIsoTransferRead005 %{public}d UsbdIsoTransferRead=%{public}d", __LINE__, ret);
1300 ASSERT_NE(ret, 0);
1301 }
1302
1303 /**
1304 * @tc.name: UsbdIsoTransferWrite001
1305 * @tc.desc: Test functions to IsoTransferWrite(const UsbDev &dev, const UsbPipe &pipe, int32_t timeout,
1306 * std::vector<uint8_t> &data);
1307 * @tc.desc: Positive test: parameters correctly
1308 * @tc.type: FUNC
1309 */
1310 HWTEST_F(UsbdTransferTest, UsbdIsoTransferWrite001, TestSize.Level1)
1311 {
1312 struct UsbDev dev = dev_;
1313 uint8_t interfaceId = INTERFACEID_1;
1314 uint8_t pointid = POINTID_1;
1315 auto ret = g_usbInterface->ClaimInterface(dev, interfaceId, 1);
1316 HDF_LOGI("UsbdTransferTest::UsbdIsoTransferWrite001 %{public}d ClaimInterface=%{public}d", __LINE__, ret);
1317 ASSERT_EQ(0, ret);
1318 uint32_t length = 100;
1319 uint8_t buffer[100] = "hello world Iso writ01";
1320 struct UsbPipe pipe = {interfaceId, pointid};
1321 std::vector<uint8_t> bufferdata = {buffer, buffer + length};
1322 ret = g_usbInterface->IsoTransferWrite(dev, pipe, 1000, bufferdata);
1323 HDF_LOGI("UsbdTransferTest::UsbdIsoTransferWrite001 %{public}d IsoTransferWrite=%{public}d", __LINE__, ret);
1324 ASSERT_EQ(0, ret);
1325 }
1326
1327 /**
1328 * @tc.name: UsbdIsoTransferWrite002
1329 * @tc.desc: Test functions to IsoTransferWrite(const UsbDev &dev, const UsbPipe &pipe, int32_t timeout,
1330 * std::vector<uint8_t> &data);
1331 * @tc.desc: Negative test: parameters exception, busNum error
1332 * @tc.type: FUNC
1333 */
1334 HWTEST_F(UsbdTransferTest, UsbdIsoTransferWrite002, TestSize.Level1)
1335 {
1336 struct UsbDev dev = dev_;
1337 uint8_t interfaceId = INTERFACEID_1;
1338 uint8_t pointid = POINTID_1;
1339 auto ret = g_usbInterface->ClaimInterface(dev, interfaceId, 1);
1340 HDF_LOGI("UsbdTransferTest::UsbdIsoTransferWrite002 %{public}d ClaimInterface=%{public}d", __LINE__, ret);
1341 ASSERT_EQ(0, ret);
1342 struct UsbPipe pipe = {interfaceId, pointid};
1343 dev.busNum = BUS_NUM_99;
1344 uint32_t length = 100;
1345 uint8_t buffer[100] = "hello world Iso writ02";
1346 std::vector<uint8_t> bufferdata = {buffer, buffer + length};
1347 ret = g_usbInterface->IsoTransferWrite(dev, pipe, 1000, bufferdata);
1348 HDF_LOGI("UsbdTransferTest::UsbdIsoTransferWrite002 %{public}d IsoTransferWrite=%{public}d", __LINE__, ret);
1349 ASSERT_NE(ret, 0);
1350 }
1351
1352 /**
1353 * @tc.name: UsbdIsoTransferWrite003
1354 * @tc.desc: Test functions to IsoTransferWrite(const UsbDev &dev, const UsbPipe &pipe, int32_t timeout,
1355 * std::vector<uint8_t> &data);
1356 * @tc.desc: Negative test: parameters exception, devAddr error
1357 * @tc.type: FUNC
1358 */
1359 HWTEST_F(UsbdTransferTest, UsbdIsoTransferWrite003, TestSize.Level1)
1360 {
1361 struct UsbDev dev = dev_;
1362 uint8_t interfaceId = INTERFACEID_1;
1363 uint8_t pointid = POINTID_1;
1364 auto ret = g_usbInterface->ClaimInterface(dev, interfaceId, 1);
1365 HDF_LOGI("UsbdTransferTest::UsbdIsoTransferWrite003 %{public}d ClaimInterface=%{public}d", __LINE__, ret);
1366 ASSERT_EQ(0, ret);
1367 dev.devAddr = DEV_ADDR_244;
1368 uint32_t length = 100;
1369 uint8_t buffer[100] = "hello world Iso writ03";
1370 struct UsbPipe pipe = {interfaceId, pointid};
1371 std::vector<uint8_t> bufferdata = {buffer, buffer + length};
1372 ret = g_usbInterface->IsoTransferWrite(dev, pipe, 1000, bufferdata);
1373 HDF_LOGI("UsbdTransferTest::UsbdIsoTransferWrite003 %{public}d IsoTransferWrite=%{public}d", __LINE__, ret);
1374 ASSERT_NE(ret, 0);
1375 }
1376
1377 /**
1378 * @tc.name: UsbdIsoTransferWrite004
1379 * @tc.desc: Test functions to IsoTransferWrite(const UsbDev &dev, const UsbPipe &pipe, int32_t timeout,
1380 * std::vector<uint8_t> &data);
1381 * @tc.desc: Negative test: parameters exception, intfId error
1382 * @tc.type: FUNC
1383 */
1384 HWTEST_F(UsbdTransferTest, UsbdIsoTransferWrite004, TestSize.Level1)
1385 {
1386 struct UsbDev dev = dev_;
1387 uint8_t interfaceId = INTERFACEID_1;
1388 uint8_t pointid = POINTID_1;
1389 auto ret = g_usbInterface->ClaimInterface(dev, interfaceId, 1);
1390 HDF_LOGI("UsbdTransferTest::UsbdIsoTransferWrite004 %{public}d ClaimInterface=%{public}d", __LINE__, ret);
1391 ASSERT_EQ(0, ret);
1392 struct UsbPipe pipe = {interfaceId, pointid};
1393 pipe.intfId = PIPE_INTERFACEID_255;
1394 uint32_t length = 100;
1395 uint8_t buffer[100] = "hello world Iso writ04";
1396 std::vector<uint8_t> bufferdata = {buffer, buffer + length};
1397 ret = g_usbInterface->IsoTransferWrite(dev, pipe, 1000, bufferdata);
1398 HDF_LOGI("UsbdTransferTest::UsbdIsoTransferWrite004 %{public}d IsoTransferWrite=%{public}d", __LINE__, ret);
1399 ASSERT_NE(ret, 0);
1400 }
1401
1402 /**
1403 * @tc.name: UsbdIsoTransferWrite005
1404 * @tc.desc: Test functions to IsoTransferWrite(const UsbDev &dev, const UsbPipe &pipe, int32_t timeout,
1405 * std::vector<uint8_t> &data);
1406 * @tc.desc: Negative test: parameters exception, endpointId error
1407 * @tc.type: FUNC
1408 */
1409 HWTEST_F(UsbdTransferTest, UsbdIsoTransferWrite005, TestSize.Level1)
1410 {
1411 struct UsbDev dev = dev_;
1412 uint8_t interfaceId = INTERFACEID_1;
1413 uint8_t pointid = POINTID_1;
1414 auto ret = g_usbInterface->ClaimInterface(dev, interfaceId, 1);
1415 HDF_LOGI("UsbdTransferTest::UsbdIsoTransferWrite005 %{public}d ClaimInterface=%{public}d", __LINE__, ret);
1416 ASSERT_EQ(0, ret);
1417 struct UsbPipe pipe = {interfaceId, pointid};
1418 pipe.endpointId = PIPE_ENDPOINTID_255;
1419 uint32_t length = 100;
1420 uint8_t buffer[100] = "hello world Iso writ05";
1421 std::vector<uint8_t> bufferdata = {buffer, buffer + length};
1422 ret = g_usbInterface->IsoTransferWrite(dev, pipe, 1000, bufferdata);
1423 HDF_LOGI("UsbdTransferTest::UsbdIsoTransferWrite005 %{public}d IsoTransferWrite=%{public}d", __LINE__, ret);
1424 ASSERT_NE(ret, 0);
1425 }
1426
1427 /**
1428 * @tc.name: UsbdIsoTransferWrite006
1429 * @tc.desc: Test functions to IsoTransferWrite(const UsbDev &dev, const UsbPipe &pipe, int32_t timeout,
1430 * std::vector<uint8_t> &data);
1431 * @tc.desc: Negative test: parameters exception, busNum && devAddr error
1432 * @tc.type: FUNC
1433 */
1434 HWTEST_F(UsbdTransferTest, UsbdIsoTransferWrite006, TestSize.Level1)
1435 {
1436 struct UsbDev dev = dev_;
1437 uint8_t interfaceId = INTERFACEID_1;
1438 uint8_t pointid = POINTID_1;
1439 auto ret = g_usbInterface->ClaimInterface(dev, interfaceId, 1);
1440 HDF_LOGI("UsbdTransferTest::UsbdIsoTransferWrite006 %{public}d ClaimInterface=%{public}d", __LINE__, ret);
1441 ASSERT_EQ(0, ret);
1442 struct UsbPipe pipe = {interfaceId, pointid};
1443 dev.busNum = BUS_NUM_99;
1444 dev.devAddr = DEV_ADDR_99;
1445 uint32_t length = 100;
1446 uint8_t buffer[100] = "hello world Iso writ06";
1447 std::vector<uint8_t> bufferdata = {buffer, buffer + length};
1448 ret = g_usbInterface->IsoTransferWrite(dev, pipe, 1000, bufferdata);
1449 HDF_LOGI("UsbdTransferTest::UsbdIsoTransferWrite006 %{public}d IsoTransferWrite=%{public}d", __LINE__, ret);
1450 ASSERT_NE(ret, 0);
1451 }
1452
1453 /**
1454 * @tc.name: UsbdIsoTransferWrite007
1455 * @tc.desc: Test functions to IsoTransferWrite(const UsbDev &dev, const UsbPipe &pipe, int32_t timeout,
1456 * std::vector<uint8_t> &data);
1457 * @tc.desc: Negative test: parameters exception, endpointId error, ClaimInterface failed first
1458 * @tc.type: FUNC
1459 */
1460 HWTEST_F(UsbdTransferTest, UsbdIsoTransferWrite007, TestSize.Level1)
1461 {
1462 struct UsbDev dev = dev_;
1463 uint8_t interfaceId = INTERFACEID_1;
1464 uint8_t pointid = POINTID_99;
1465 auto ret = g_usbInterface->ClaimInterface(dev, interfaceId, 1);
1466 HDF_LOGI("UsbdTransferTest::UsbdIsoTransferWrite007 %{public}d ClaimInterface=%{public}d", __LINE__, ret);
1467 ASSERT_EQ(0, ret);
1468 struct UsbPipe pipe = {interfaceId, pointid};
1469 uint32_t length = 100;
1470 uint8_t buffer[100] = "hello world Iso writ07";
1471 std::vector<uint8_t> bufferdata = {buffer, buffer + length};
1472 ret = g_usbInterface->IsoTransferWrite(dev, pipe, 1000, bufferdata);
1473 HDF_LOGI("UsbdTransferTest::UsbdIsoTransferWrite007 %{public}d IsoTransferWrite=%{public}d", __LINE__, ret);
1474 ASSERT_NE(ret, 0);
1475 }
1476
1477 /**
1478 * @tc.name: UsbdIsoTransferWrite008
1479 * @tc.desc: Test functions to IsoTransferWrite(const UsbDev &dev, const UsbPipe &pipe, int32_t timeout,
1480 * std::vector<uint8_t> &data);
1481 * @tc.desc: Positive test: parameters correctly, different in timeout
1482 * @tc.type: FUNC
1483 */
1484 HWTEST_F(UsbdTransferTest, UsbdIsoTransferWrite008, TestSize.Level1)
1485 {
1486 struct UsbDev dev = dev_;
1487 uint8_t interfaceId = INTERFACEID_1;
1488 uint8_t pointid = POINTID_1;
1489 auto ret = g_usbInterface->ClaimInterface(dev, interfaceId, 1);
1490 HDF_LOGI("UsbdTransferTest::UsbdIsoTransferWrite008 %{public}d ClaimInterface=%{public}d", __LINE__, ret);
1491 ASSERT_EQ(0, ret);
1492 struct UsbPipe pipe = {interfaceId, pointid};
1493 uint32_t length = 100;
1494 uint8_t buffer[100] = "hello world Iso writ08";
1495 std::vector<uint8_t> bufferdata = {buffer, buffer + length};
1496 ret = g_usbInterface->IsoTransferWrite(dev, pipe, -1, bufferdata);
1497 HDF_LOGI("UsbdTransferTest::UsbdIsoTransferWrite008 %{public}d IsoTransferWrite=%{public}d", __LINE__, ret);
1498 ASSERT_EQ(0, ret);
1499 }
1500
1501 /**
1502 * @tc.name: BulkWrite001
1503 * @tc.desc: Test functions to int32_t BulkWrite(const UsbDev &dev, const UsbPipe &pipe, const sptr<Ashmem> &ashmem)
1504 * @tc.desc: Positive test: parameters correctly
1505 * @tc.type: FUNC
1506 */
1507 HWTEST_F(UsbdTransferTest, BulkWrite001, TestSize.Level1)
1508 {
1509 sptr<Ashmem> ashmem;
1510 uint8_t rflg = 0;
1511 int32_t asmSize = LENGTH_NUM_255;
1512 struct UsbDev dev = dev_;
1513 uint8_t interfaceId = INTERFACEID_1;
1514 uint8_t pointid = POINTID_129;
1515 auto ret = g_usbInterface->ClaimInterface(dev, interfaceId, 1);
1516 HDF_LOGI("UsbdTransferTest::BulkWrite001 %{public}d ClaimInterface=%{public}d", __LINE__, ret);
1517 ASSERT_EQ(0, ret);
1518 struct UsbPipe pipe = {interfaceId, pointid};
1519 (void)InitAshmemOne(ashmem, asmSize, rflg);
1520 ret = g_usbInterface->BulkWrite(dev, pipe, ashmem);
1521 HDF_LOGI("UsbdTransferTest::BulkWrite001 %{public}d BulkWrite=%{public}d", __LINE__, ret);
1522 ASSERT_EQ(ret, 0);
1523 }
1524
1525 /**
1526 * @tc.name: BulkWrite002
1527 * @tc.desc: Test functions to int32_t BulkWrite(const UsbDev &dev, const UsbPipe &pipe, const sptr<Ashmem> &ashmem)
1528 * @tc.desc: Negative test: parameters exception, busNum error
1529 * @tc.type: FUNC
1530 */
1531 HWTEST_F(UsbdTransferTest, BulkWrite002, TestSize.Level1)
1532 {
1533 sptr<Ashmem> ashmem;
1534 uint8_t rflg = 0;
1535 int32_t asmSize = LENGTH_NUM_255;
1536 struct UsbDev dev = dev_;
1537 uint8_t interfaceId = INTERFACEID_1;
1538 uint8_t pointid = POINTID_1;
1539 auto ret = g_usbInterface->ClaimInterface(dev, interfaceId, 1);
1540 HDF_LOGI("UsbdTransferTest::BulkWrite002 %{public}d ClaimInterface=%{public}d", __LINE__, ret);
1541 ASSERT_EQ(0, ret);
1542 struct UsbPipe pipe = {interfaceId, pointid};
1543 dev.busNum = BUS_NUM_99;
1544 (void)InitAshmemOne(ashmem, asmSize, rflg);
1545 ret = g_usbInterface->BulkWrite(dev, pipe, ashmem);
1546 HDF_LOGI("UsbdTransferTest::BulkWrite002 %{public}d BulkWrite=%{public}d", __LINE__, ret);
1547 ASSERT_NE(ret, 0);
1548 }
1549
1550 /**
1551 * @tc.name: BulkWrite003
1552 * @tc.desc: Test functions to int32_t BulkWrite(const UsbDev &dev, const UsbPipe &pipe, const sptr<Ashmem> &ashmem)
1553 * @tc.desc: Negative test: parameters exception, devAddr error
1554 * @tc.type: FUNC
1555 */
1556 HWTEST_F(UsbdTransferTest, BulkWrite003, TestSize.Level1)
1557 {
1558 sptr<Ashmem> ashmem;
1559 uint8_t rflg = 0;
1560 int32_t asmSize = LENGTH_NUM_255;
1561 struct UsbDev dev = dev_;
1562 uint8_t interfaceId = INTERFACEID_1;
1563 uint8_t pointid = POINTID_1;
1564 auto ret = g_usbInterface->ClaimInterface(dev, interfaceId, 1);
1565 HDF_LOGI("UsbdTransferTest::BulkWrite003 %{public}d ClaimInterface=%{public}d", __LINE__, ret);
1566 ASSERT_EQ(0, ret);
1567 struct UsbPipe pipe = {interfaceId, pointid};
1568 dev.devAddr = DEV_ADDR_244;
1569 (void)InitAshmemOne(ashmem, asmSize, rflg);
1570 ret = g_usbInterface->BulkWrite(dev, pipe, ashmem);
1571 HDF_LOGI("UsbdTransferTest::BulkWrite003 %{public}d BulkWrite=%{public}d", __LINE__, ret);
1572 ASSERT_NE(ret, 0);
1573 }
1574
1575 /**
1576 * @tc.name: BulkWrite004
1577 * @tc.desc: Test functions to int32_t BulkWrite(const UsbDev &dev, const UsbPipe &pipe, const sptr<Ashmem> &ashmem)
1578 * @tc.desc: Negative test: parameters exception, intfId error
1579 * @tc.type: FUNC
1580 */
1581 HWTEST_F(UsbdTransferTest, BulkWrite004, TestSize.Level1)
1582 {
1583 sptr<Ashmem> ashmem;
1584 uint8_t rflg = 0;
1585 int32_t asmSize = LENGTH_NUM_255;
1586 struct UsbDev dev = dev_;
1587 uint8_t interfaceId = INTERFACEID_1;
1588 uint8_t pointid = POINTID_1;
1589 auto ret = g_usbInterface->ClaimInterface(dev, interfaceId, 1);
1590 HDF_LOGI("UsbdTransferTest::BulkWrite004 %{public}d ClaimInterface=%{public}d", __LINE__, ret);
1591 ASSERT_EQ(0, ret);
1592 struct UsbPipe pipe = {interfaceId, pointid};
1593 pipe.intfId = PIPE_INTERFACEID_255;
1594 (void)InitAshmemOne(ashmem, asmSize, rflg);
1595 ret = g_usbInterface->BulkWrite(dev, pipe, ashmem);
1596 HDF_LOGI("UsbdTransferTest::BulkWrite004 %{public}d BulkWrite=%{public}d", __LINE__, ret);
1597 ASSERT_NE(ret, 0);
1598 }
1599
1600 /**
1601 * @tc.name: BulkWrite005
1602 * @tc.desc: Test functions to int32_t BulkWrite(const UsbDev &dev, const UsbPipe &pipe, const sptr<Ashmem> &ashmem)
1603 * @tc.desc: Negative test: parameters exception, endpointId error
1604 * @tc.type: FUNC
1605 */
1606 HWTEST_F(UsbdTransferTest, BulkWrite005, TestSize.Level1)
1607 {
1608 sptr<Ashmem> ashmem;
1609 uint8_t rflg = 0;
1610 int32_t asmSize = LENGTH_NUM_255;
1611 struct UsbDev dev = dev_;
1612 uint8_t interfaceId = INTERFACEID_1;
1613 uint8_t pointid = POINTID_1;
1614 auto ret = g_usbInterface->ClaimInterface(dev, interfaceId, 1);
1615 HDF_LOGI("UsbdTransferTest::BulkWrite005 %{public}d ClaimInterface=%{public}d", __LINE__, ret);
1616 ASSERT_EQ(0, ret);
1617 struct UsbPipe pipe = {interfaceId, pointid};
1618 pipe.endpointId = PIPE_ENDPOINTID_255;
1619 (void)InitAshmemOne(ashmem, asmSize, rflg);
1620 ret = g_usbInterface->BulkWrite(dev, pipe, ashmem);
1621 HDF_LOGI("UsbdTransferTest::BulkWrite005 %{public}d BulkWrite=%{public}d", __LINE__, ret);
1622 ASSERT_NE(ret, 0);
1623 }
1624
1625 /**
1626 * @tc.name: BulkRead001
1627 * @tc.desc: Test functions to int32_t BulkRead(const UsbDev &dev, const UsbPipe &pipe, const sptr<Ashmem> &ashmem)
1628 * @tc.desc: Positive test: parameters correctly
1629 * @tc.type: FUNC
1630 */
1631 HWTEST_F(UsbdTransferTest, BulkRead001, TestSize.Level1)
1632 {
1633 sptr<Ashmem> ashmem;
1634 uint8_t rflg = 0;
1635 int32_t asmSize = LENGTH_NUM_255;
1636 struct UsbDev dev = dev_;
1637 uint8_t interfaceId = INTERFACEID_1;
1638 uint8_t pointid = POINTID_129;
1639 auto ret = g_usbInterface->ClaimInterface(dev, interfaceId, 1);
1640 HDF_LOGI("UsbdTransferTest::BulkRead001 %{public}d ClaimInterface=%{public}d", __LINE__, ret);
1641 ASSERT_EQ(0, ret);
1642 struct UsbPipe pipe = {interfaceId, pointid};
1643 (void)InitAshmemOne(ashmem, asmSize, rflg);
1644 ret = g_usbInterface->BulkRead(dev, pipe, ashmem);
1645 HDF_LOGI("UsbdTransferTest::BulkRead001 %{public}d BulkRead=%{public}d", __LINE__, ret);
1646 ASSERT_EQ(ret, 0);
1647 }
1648
1649 /**
1650 * @tc.name: BulkRead002
1651 * @tc.desc: Test functions to int32_t BulkRead(const UsbDev &dev, const UsbPipe &pipe, const sptr<Ashmem> &ashmem)
1652 * @tc.desc: Negative test: parameters exception, busNum error
1653 * @tc.type: FUNC
1654 */
1655 HWTEST_F(UsbdTransferTest, BulkRead002, TestSize.Level1)
1656 {
1657 sptr<Ashmem> ashmem;
1658 uint8_t rflg = 0;
1659 int32_t asmSize = LENGTH_NUM_255;
1660 struct UsbDev dev = dev_;
1661 uint8_t interfaceId = INTERFACEID_1;
1662 uint8_t pointid = POINTID_1;
1663 auto ret = g_usbInterface->ClaimInterface(dev, interfaceId, 1);
1664 HDF_LOGI("UsbdTransferTest::BulkRead002 %{public}d ClaimInterface=%{public}d", __LINE__, ret);
1665 ASSERT_EQ(0, ret);
1666 struct UsbPipe pipe = {interfaceId, pointid};
1667 dev.busNum = BUS_NUM_99;
1668 (void)InitAshmemOne(ashmem, asmSize, rflg);
1669 ret = g_usbInterface->BulkRead(dev, pipe, ashmem);
1670 HDF_LOGI("UsbdTransferTest::BulkRead002 %{public}d BulkRead=%{public}d", __LINE__, ret);
1671 ASSERT_NE(ret, 0);
1672 }
1673
1674 /**
1675 * @tc.name: BulkRead003
1676 * @tc.desc: Test functions to int32_t BulkRead(const UsbDev &dev, const UsbPipe &pipe, const sptr<Ashmem> &ashmem)
1677 * @tc.desc: Negative test: parameters exception, devAddr error
1678 * @tc.type: FUNC
1679 */
1680 HWTEST_F(UsbdTransferTest, BulkRead003, TestSize.Level1)
1681 {
1682 sptr<Ashmem> ashmem;
1683 uint8_t rflg = 0;
1684 int32_t asmSize = LENGTH_NUM_255;
1685 struct UsbDev dev = dev_;
1686 uint8_t interfaceId = INTERFACEID_1;
1687 uint8_t pointid = POINTID_1;
1688 auto ret = g_usbInterface->ClaimInterface(dev, interfaceId, 1);
1689 HDF_LOGI("UsbdTransferTest::BulkRead003 %{public}d ClaimInterface=%{public}d", __LINE__, ret);
1690 ASSERT_EQ(0, ret);
1691 struct UsbPipe pipe = {interfaceId, pointid};
1692 dev.devAddr = DEV_ADDR_244;
1693 (void)InitAshmemOne(ashmem, asmSize, rflg);
1694 ret = g_usbInterface->BulkRead(dev, pipe, ashmem);
1695 HDF_LOGI("UsbdTransferTest::BulkRead003 %{public}d BulkRead=%{public}d", __LINE__, ret);
1696 ASSERT_NE(ret, 0);
1697 }
1698
1699 /**
1700 * @tc.name: BulkRead004
1701 * @tc.desc: Test functions to int32_t BulkRead(const UsbDev &dev, const UsbPipe &pipe, const sptr<Ashmem> &ashmem)
1702 * @tc.desc: Negative test: parameters exception, intfId error
1703 * @tc.type: FUNC
1704 */
1705 HWTEST_F(UsbdTransferTest, BulkRead004, TestSize.Level1)
1706 {
1707 sptr<Ashmem> ashmem;
1708 uint8_t rflg = 0;
1709 int32_t asmSize = LENGTH_NUM_255;
1710 struct UsbDev dev = dev_;
1711 uint8_t interfaceId = INTERFACEID_1;
1712 uint8_t pointid = POINTID_1;
1713 auto ret = g_usbInterface->ClaimInterface(dev, interfaceId, 1);
1714 HDF_LOGI("UsbdTransferTest::BulkRead004 %{public}d ClaimInterface=%{public}d", __LINE__, ret);
1715 ASSERT_EQ(0, ret);
1716 struct UsbPipe pipe = {interfaceId, pointid};
1717 pipe.intfId = PIPE_INTERFACEID_255;
1718 (void)InitAshmemOne(ashmem, asmSize, rflg);
1719 ret = g_usbInterface->BulkRead(dev, pipe, ashmem);
1720 HDF_LOGI("UsbdTransferTest::BulkRead004 %{public}d BulkRead=%{public}d", __LINE__, ret);
1721 ASSERT_NE(ret, 0);
1722 }
1723
1724 /**
1725 * @tc.name: BulkRead005
1726 * @tc.desc: Test functions to int32_t BulkRead(const UsbDev &dev, const UsbPipe &pipe, const sptr<Ashmem> &ashmem)
1727 * @tc.desc: Negative test: parameters exception, endpointId error
1728 * @tc.type: FUNC
1729 */
1730 HWTEST_F(UsbdTransferTest, BulkRead005, TestSize.Level1)
1731 {
1732 sptr<Ashmem> ashmem;
1733 uint8_t rflg = 0;
1734 int32_t asmSize = LENGTH_NUM_255;
1735 struct UsbDev dev = dev_;
1736 uint8_t interfaceId = INTERFACEID_1;
1737 uint8_t pointid = POINTID_1;
1738 auto ret = g_usbInterface->ClaimInterface(dev, interfaceId, 1);
1739 HDF_LOGI("UsbdTransferTest::BulkRead005 %{public}d ClaimInterface=%{public}d", __LINE__, ret);
1740 ASSERT_EQ(0, ret);
1741 struct UsbPipe pipe = {interfaceId, pointid};
1742 pipe.endpointId = PIPE_ENDPOINTID_255;
1743 (void)InitAshmemOne(ashmem, asmSize, rflg);
1744 ret = g_usbInterface->BulkRead(dev, pipe, ashmem);
1745 HDF_LOGI("UsbdTransferTest::BulkRead005 %{public}d BulkRead=%{public}d", __LINE__, ret);
1746 ASSERT_NE(ret, 0);
1747 }
1748
1749 /**
1750 * @tc.name: RegBulkCallback001
1751 * @tc.desc: Test functions to RegBulkCallback
1752 * @tc.desc: int32_t RegBulkCallback(const UsbDev &dev, const UsbPipe &pipe, const sptr<IUsbdBulkCallback> &cb)
1753 * @tc.desc: Positive test: parameters correctly
1754 * @tc.type: FUNC
1755 */
1756 HWTEST_F(UsbdTransferTest, RegBulkCallback001, TestSize.Level1)
1757 {
1758 struct UsbDev dev = dev_;
1759 uint8_t interfaceId = INTERFACEID_1;
1760 uint8_t pointid = POINTID_BULK_OUT;
1761 struct UsbPipe pipe = {interfaceId, pointid};
1762 sptr<UsbdBulkCallbackTest> usbdBulkCallback = new UsbdBulkCallbackTest();
1763 if (usbdBulkCallback == nullptr) {
1764 HDF_LOGE("%{public}s:UsbdBulkCallbackTest new failed.", __func__);
1765 exit(0);
1766 }
1767 auto ret = g_usbInterface->RegBulkCallback(dev, pipe, usbdBulkCallback);
1768 HDF_LOGI("UsbdTransferTest::RegBulkCallback001 %{public}d RegBulkCallback=%{public}d", __LINE__, ret);
1769 ASSERT_EQ(ret, 0);
1770 }
1771
1772 /**
1773 * @tc.name: RegBulkCallback002
1774 * @tc.desc: Test functions to RegBulkCallback
1775 * @tc.desc: int32_t RegBulkCallback(const UsbDev &dev, const UsbPipe &pipe, const sptr<IUsbdBulkCallback> &cb)
1776 * @tc.desc: Negative test: parameters exception, busNum error
1777 * @tc.type: FUNC
1778 */
1779 HWTEST_F(UsbdTransferTest, RegBulkCallback002, TestSize.Level1)
1780 {
1781 struct UsbDev dev = dev_;
1782 uint8_t interfaceId = INTERFACEID_1;
1783 uint8_t pointid = POINTID_BULK_OUT;
1784 struct UsbPipe pipe = {interfaceId, pointid};
1785 dev.busNum = BUS_NUM_99;
1786 sptr<UsbdBulkCallbackTest> usbdBulkCallback = new UsbdBulkCallbackTest();
1787 if (usbdBulkCallback == nullptr) {
1788 HDF_LOGE("%{public}s:UsbdBulkCallbackTest new failed.", __func__);
1789 exit(0);
1790 }
1791 auto ret = g_usbInterface->RegBulkCallback(dev, pipe, usbdBulkCallback);
1792 HDF_LOGI("UsbdTransferTest::RegBulkCallback002 %{public}d RegBulkCallback=%{public}d", __LINE__, ret);
1793 ASSERT_NE(ret, 0);
1794 }
1795
1796 /**
1797 * @tc.name: RegBulkCallback003
1798 * @tc.desc: Test functions to int32_t RegBulkCallback(const UsbDev &dev, const UsbPipe &pipe,
1799 * const sptr<IUsbdBulkCallback> &cb)
1800 * @tc.desc: Negative test: parameters exception, devAddr error
1801 * @tc.type: FUNC
1802 */
1803 HWTEST_F(UsbdTransferTest, RegBulkCallback003, TestSize.Level1)
1804 {
1805 struct UsbDev dev = dev_;
1806 uint8_t interfaceId = INTERFACEID_1;
1807 uint8_t pointid = POINTID_BULK_OUT;
1808 struct UsbPipe pipe = {interfaceId, pointid};
1809 dev.devAddr = DEV_ADDR_244;
1810 sptr<UsbdBulkCallbackTest> usbdBulkCallback = new UsbdBulkCallbackTest();
1811 if (usbdBulkCallback == nullptr) {
1812 HDF_LOGE("%{public}s:UsbdBulkCallbackTest new failed.", __func__);
1813 exit(0);
1814 }
1815 auto ret = g_usbInterface->RegBulkCallback(dev, pipe, usbdBulkCallback);
1816 HDF_LOGI("UsbdTransferTest::RegBulkCallback003 %{public}d RegBulkCallback=%{public}d", __LINE__, ret);
1817 ASSERT_NE(ret, 0);
1818 }
1819
1820 /**
1821 * @tc.name: RegBulkCallback004
1822 * @tc.desc: Test functions to int32_t RegBulkCallback(const UsbDev &dev, const UsbPipe &pipe,
1823 * const sptr<IUsbdBulkCallback> &cb)
1824 * @tc.desc: Negative test: parameters exception, intfId error
1825 * @tc.type: FUNC
1826 */
1827 HWTEST_F(UsbdTransferTest, RegBulkCallback004, TestSize.Level1)
1828 {
1829 struct UsbDev dev = dev_;
1830 uint8_t interfaceId = INTERFACEID_1;
1831 uint8_t pointid = POINTID_BULK_OUT;
1832 struct UsbPipe pipe = {interfaceId, pointid};
1833 pipe.intfId = PIPE_INTERFACEID_255;
1834 sptr<UsbdBulkCallbackTest> usbdBulkCallback = new UsbdBulkCallbackTest();
1835 if (usbdBulkCallback == nullptr) {
1836 HDF_LOGE("%{public}s:UsbdBulkCallbackTest new failed.", __func__);
1837 exit(0);
1838 }
1839 auto ret = g_usbInterface->RegBulkCallback(dev, pipe, usbdBulkCallback);
1840 HDF_LOGI("UsbdTransferTest::RegBulkCallback004 %{public}d RegBulkCallback=%{public}d", __LINE__, ret);
1841 ASSERT_NE(ret, 0);
1842 }
1843
1844 /**
1845 * @tc.name: RegBulkCallback005
1846 * @tc.desc: Test functions to int32_t RegBulkCallback(const UsbDev &dev, const UsbPipe &pipe,
1847 * const sptr<IUsbdBulkCallback> &cb)
1848 * @tc.desc: Negative test: parameters exception, cb error
1849 * @tc.type: FUNC
1850 */
1851 HWTEST_F(UsbdTransferTest, RegBulkCallback005, TestSize.Level1)
1852 {
1853 struct UsbDev dev = dev_;
1854 uint8_t interfaceId = INTERFACEID_1;
1855 uint8_t pointid = POINTID_BULK_OUT;
1856 struct UsbPipe pipe = {interfaceId, pointid};
1857 auto ret = g_usbInterface->RegBulkCallback(dev, pipe, nullptr);
1858 HDF_LOGI("UsbdTransferTest::RegBulkCallback005 %{public}d RegBulkCallback=%{public}d", __LINE__, ret);
1859 ASSERT_NE(ret, 0);
1860 }
1861
1862 /**
1863 * @tc.name: UnRegBulkCallback001
1864 * @tc.desc: Test functions to int32_t UnRegBulkCallback(const UsbDev &dev, const UsbPipe &pipe)
1865 * @tc.desc: Positive test: parameters correctly
1866 * @tc.type: FUNC
1867 */
1868 HWTEST_F(UsbdTransferTest, UnRegBulkCallback001, TestSize.Level1)
1869 {
1870 struct UsbDev dev = dev_;
1871 uint8_t interfaceId = INTERFACEID_1;
1872 uint8_t pointid = POINTID_1;
1873 struct UsbPipe pipe = {interfaceId, pointid};
1874 sptr<UsbdBulkCallbackTest> usbdBulkCallback = new UsbdBulkCallbackTest();
1875 if (usbdBulkCallback == nullptr) {
1876 HDF_LOGE("%{public}s:UsbdBulkCallbackTest new failed.", __func__);
1877 exit(0);
1878 }
1879 auto ret = g_usbInterface->RegBulkCallback(dev, pipe, usbdBulkCallback);
1880 HDF_LOGI("UsbdTransferTest::UnRegBulkCallback001 %{public}d RegBulkCallback=%{public}d", __LINE__, ret);
1881 ASSERT_EQ(ret, 0);
1882 ret = g_usbInterface->UnRegBulkCallback(dev, pipe);
1883 HDF_LOGI("UsbdTransferTest::UnRegBulkCallback001 %{public}d UnRegBulkCallback=%{public}d", __LINE__, ret);
1884 ASSERT_EQ(ret, 0);
1885 }
1886
1887 /**
1888 * @tc.name: UnRegBulkCallback002
1889 * @tc.desc: Test functions to int32_t UnRegBulkCallback(const UsbDev &dev, const UsbPipe &pipe)
1890 * @tc.desc: Negative test: parameters exception, devAddr error
1891 * @tc.type: FUNC
1892 */
1893 HWTEST_F(UsbdTransferTest, UnRegBulkCallback002, TestSize.Level1)
1894 {
1895 struct UsbDev dev = dev_;
1896 uint8_t interfaceId = INTERFACEID_1;
1897 uint8_t pointid = POINTID_1;
1898 struct UsbPipe pipe = {interfaceId, pointid};
1899 sptr<UsbdBulkCallbackTest> usbdBulkCallback = new UsbdBulkCallbackTest();
1900 if (usbdBulkCallback == nullptr) {
1901 HDF_LOGE("%{public}s:UsbdBulkCallbackTest new failed.", __func__);
1902 exit(0);
1903 }
1904 auto ret = g_usbInterface->RegBulkCallback(dev, pipe, usbdBulkCallback);
1905 HDF_LOGI("UsbdTransferTest::UnRegBulkCallback002 %{public}d RegBulkCallback=%{public}d", __LINE__, ret);
1906 ASSERT_EQ(ret, 0);
1907 dev.devAddr = DEV_ADDR_244;
1908 ret = g_usbInterface->UnRegBulkCallback(dev, pipe);
1909 HDF_LOGI("UsbdTransferTest::UnRegBulkCallback002 %{public}d UnRegBulkCallback=%{public}d", __LINE__, ret);
1910 ASSERT_NE(ret, 0);
1911 dev = dev_;
1912 ret = g_usbInterface->UnRegBulkCallback(dev, pipe);
1913 HDF_LOGI("UsbdTransferTest::UnRegBulkCallback002 %{public}d again UnRegBulkCallback=%{public}d", __LINE__, ret);
1914 ASSERT_EQ(ret, 0);
1915 }
1916
1917 /**
1918 * @tc.name: UnRegBulkCallback003
1919 * @tc.desc: Test functions to int32_t UnRegBulkCallback(const UsbDev &dev, const UsbPipe &pipe)
1920 * @tc.desc: Negative test: parameters exception, intfId error
1921 * @tc.type: FUNC
1922 */
1923 HWTEST_F(UsbdTransferTest, UnRegBulkCallback003, TestSize.Level1)
1924 {
1925 struct UsbDev dev = dev_;
1926 uint8_t interfaceId = INTERFACEID_1;
1927 uint8_t pointid = POINTID_1;
1928 struct UsbPipe pipe = {interfaceId, pointid};
1929 sptr<UsbdBulkCallbackTest> usbdBulkCallback = new UsbdBulkCallbackTest();
1930 if (usbdBulkCallback == nullptr) {
1931 HDF_LOGE("%{public}s:UsbdBulkCallbackTest new failed.", __func__);
1932 exit(0);
1933 }
1934 auto ret = g_usbInterface->RegBulkCallback(dev, pipe, usbdBulkCallback);
1935 HDF_LOGI("UsbdTransferTest::UnRegBulkCallback003 %{public}d RegBulkCallback=%{public}d", __LINE__, ret);
1936 ASSERT_EQ(ret, 0);
1937 pipe.intfId = PIPE_INTERFACEID_244;
1938 ret = g_usbInterface->UnRegBulkCallback(dev, pipe);
1939 HDF_LOGI("UsbdTransferTest::UnRegBulkCallback003 %{public}d UnRegBulkCallback=%{public}d", __LINE__, ret);
1940 ASSERT_NE(ret, 0);
1941 pipe = {interfaceId, pointid};
1942 ret = g_usbInterface->UnRegBulkCallback(dev, pipe);
1943 HDF_LOGI("UsbdTransferTest::UnRegBulkCallback003 %{public}d again UnRegBulkCallback=%{public}d", __LINE__, ret);
1944 ASSERT_EQ(ret, 0);
1945 }
1946
1947 /**
1948 * @tc.name: UnRegBulkCallback004
1949 * @tc.desc: Test functions to int32_t UnRegBulkCallback(const UsbDev &dev, const UsbPipe &pipe)
1950 * @tc.desc: Positive test: call again
1951 * @tc.type: FUNC
1952 */
1953 HWTEST_F(UsbdTransferTest, UnRegBulkCallback004, TestSize.Level1)
1954 {
1955 struct UsbDev dev = dev_;
1956 uint8_t interfaceId = INTERFACEID_1;
1957 uint8_t pointid = POINTID_1;
1958 struct UsbPipe pipe = {interfaceId, pointid};
1959 sptr<UsbdBulkCallbackTest> usbdBulkCallback = new UsbdBulkCallbackTest();
1960 if (usbdBulkCallback == nullptr) {
1961 HDF_LOGE("%{public}s:UsbdBulkCallbackTest new failed.", __func__);
1962 exit(0);
1963 }
1964 auto ret = g_usbInterface->RegBulkCallback(dev, pipe, usbdBulkCallback);
1965 HDF_LOGI("UsbdTransferTest::UnRegBulkCallback004 %{public}d RegBulkCallback=%{public}d", __LINE__, ret);
1966 ASSERT_EQ(ret, 0);
1967 ret = g_usbInterface->UnRegBulkCallback(dev, pipe);
1968 HDF_LOGI("UsbdTransferTest::UnRegBulkCallback004 %{public}d UnRegBulkCallback=%{public}d", __LINE__, ret);
1969 ASSERT_EQ(ret, 0);
1970 ret = g_usbInterface->UnRegBulkCallback(dev, pipe);
1971 HDF_LOGI("UsbdTransferTest::UnRegBulkCallback004 %{public}d again UnRegBulkCallback=%{public}d", __LINE__, ret);
1972 ASSERT_EQ(ret, 0);
1973 }
1974
1975 /**
1976 * @tc.name: UnRegBulkCallback005
1977 * @tc.desc: Test functions to int32_t UnRegBulkCallback(const UsbDev &dev, const UsbPipe &pipe)
1978 * @tc.desc: Positive test: no register
1979 * @tc.type: FUNC
1980 */
1981 HWTEST_F(UsbdTransferTest, UnRegBulkCallback005, TestSize.Level1)
1982 {
1983 struct UsbDev dev = dev_;
1984 uint8_t interfaceId = INTERFACEID_1;
1985 uint8_t pointid = POINTID_1;
1986 struct UsbPipe pipe = {interfaceId, pointid};
1987 auto ret = g_usbInterface->UnRegBulkCallback(dev, pipe);
1988 HDF_LOGI("UsbdTransferTest::UnRegBulkCallback005 %{public}d UnRegBulkCallback=%{public}d", __LINE__, ret);
1989 ASSERT_EQ(ret, 0);
1990 }
1991
1992 /**
1993 * @tc.name: UnbindUsbdSubscriber001
1994 * @tc.desc: Test functions to int32_t UnbindUsbdSubscriber(const sptr<IUsbdSubscriber> &subscriber)
1995 * @tc.desc: Positive test: parameters correctly
1996 * @tc.type: FUNC
1997 */
1998 HWTEST_F(UsbdTransferTest, UnbindUsbdSubscriber001, TestSize.Level1)
1999 {
2000 sptr<UsbSubscriberTest> subscriber = new UsbSubscriberTest();
2001 if (subscriber == nullptr) {
2002 HDF_LOGE("%{public}s:UsbSubscriberTest new failed.", __func__);
2003 exit(0);
2004 }
2005 auto ret = g_usbInterface->BindUsbdSubscriber(subscriber);
2006 HDF_LOGI("UsbdTransferTest::UnbindUsbdSubscriber001 %{public}d first BindUsbdSubscriber=%{public}d", __LINE__, ret);
2007 ASSERT_EQ(0, ret);
2008 ret = g_usbInterface->UnbindUsbdSubscriber(subscriber);
2009 HDF_LOGI("UsbdTransferTest::UnbindUsbdSubscriber001 %{public}d UnbindUsbdSubscriber=%{public}d", __LINE__, ret);
2010 ASSERT_EQ(0, ret);
2011 }
2012
2013 /**
2014 * @tc.name: UnbindUsbdSubscriber002
2015 * @tc.desc: Test functions to int32_t UnbindUsbdSubscriber(const sptr<IUsbdSubscriber> &subscriber)
2016 * @tc.desc: Negative test: no bind first
2017 * @tc.type: FUNC
2018 */
2019 HWTEST_F(UsbdTransferTest, UnbindUsbdSubscriber002, TestSize.Level1)
2020 {
2021 sptr<UsbSubscriberTest> subscriber = new UsbSubscriberTest();
2022 if (subscriber == nullptr) {
2023 HDF_LOGE("%{public}s:UsbSubscriberTest new failed.", __func__);
2024 exit(0);
2025 }
2026 auto ret = g_usbInterface->UnbindUsbdSubscriber(subscriber);
2027 HDF_LOGI("UsbdTransferTest::UnbindUsbdSubscriber002 %{public}d UnbindUsbdSubscriber=%{public}d", __LINE__, ret);
2028 ASSERT_NE(0, ret);
2029 }
2030
2031 /**
2032 * @tc.name: UnbindUsbdSubscriber003
2033 * @tc.desc: Test functions to int32_t UnbindUsbdSubscriber(const sptr<IUsbdSubscriber> &subscriber)
2034 * @tc.desc: Positive test: no bind first, unbind failed; then bind, unbind success
2035 * @tc.type: FUNC
2036 */
2037 HWTEST_F(UsbdTransferTest, UnbindUsbdSubscriber003, TestSize.Level1)
2038 {
2039 sptr<UsbSubscriberTest> subscriber = new UsbSubscriberTest();
2040 if (subscriber == nullptr) {
2041 HDF_LOGE("%{public}s:UsbSubscriberTest new failed.", __func__);
2042 exit(0);
2043 }
2044 auto ret = g_usbInterface->UnbindUsbdSubscriber(subscriber);
2045 HDF_LOGI("UsbdTransferTest::UnbindUsbdSubscriber003 %{public}d UnbindUsbdSubscriber=%{public}d", __LINE__, ret);
2046 ASSERT_NE(0, ret);
2047 ret = g_usbInterface->BindUsbdSubscriber(subscriber);
2048 HDF_LOGI("UsbdTransferTest::UnbindUsbdSubscriber003 %{public}d first BindUsbdSubscriber=%{public}d", __LINE__, ret);
2049 ASSERT_EQ(0, ret);
2050 ret = g_usbInterface->UnbindUsbdSubscriber(subscriber);
2051 HDF_LOGI(
2052 "UsbdTransferTest::UnbindUsbdSubscriber003 %{public}d again UnbindUsbdSubscriber=%{public}d", __LINE__, ret);
2053 ASSERT_EQ(0, ret);
2054 }
2055
2056 /**
2057 * @tc.name: UnbindUsbdSubscriber004
2058 * @tc.desc: Test functions to int32_t UnbindUsbdSubscriber(const sptr<IUsbdSubscriber> &subscriber)
2059 * @tc.desc: Negative test: call twice
2060 * @tc.type: FUNC
2061 */
2062 HWTEST_F(UsbdTransferTest, UnbindUsbdSubscriber004, TestSize.Level1)
2063 {
2064 sptr<UsbSubscriberTest> subscriber = new UsbSubscriberTest();
2065 if (subscriber == nullptr) {
2066 HDF_LOGE("%{public}s:UsbSubscriberTest new failed.", __func__);
2067 exit(0);
2068 }
2069 auto ret = g_usbInterface->BindUsbdSubscriber(subscriber);
2070 HDF_LOGI("UsbdTransferTest::UnbindUsbdSubscriber004 %{public}d first BindUsbdSubscriber=%{public}d", __LINE__, ret);
2071 ASSERT_EQ(0, ret);
2072 ret = g_usbInterface->UnbindUsbdSubscriber(subscriber);
2073 HDF_LOGI(
2074 "UsbdTransferTest::UnbindUsbdSubscriber004 %{public}d first UnbindUsbdSubscriber=%{public}d", __LINE__, ret);
2075 ASSERT_EQ(0, ret);
2076 ret = g_usbInterface->UnbindUsbdSubscriber(subscriber);
2077 HDF_LOGI(
2078 "UsbdTransferTest::UnbindUsbdSubscriber004 %{public}d again UnbindUsbdSubscriber=%{public}d", __LINE__, ret);
2079 ASSERT_NE(0, ret);
2080 }
2081
2082 /**
2083 * @tc.name: UnbindUsbdSubscriber005
2084 * @tc.desc: Test functions to int32_t UnbindUsbdSubscriber(const sptr<IUsbdSubscriber> &subscriber)
2085 * @tc.desc: Positive test: test repeatedly
2086 * @tc.type: FUNC
2087 */
2088 HWTEST_F(UsbdTransferTest, UnbindUsbdSubscriber005, TestSize.Level1)
2089 {
2090 sptr<UsbSubscriberTest> subscriber = new UsbSubscriberTest();
2091 if (subscriber == nullptr) {
2092 HDF_LOGE("%{public}s:UsbSubscriberTest new failed.", __func__);
2093 exit(0);
2094 }
2095 auto ret = g_usbInterface->BindUsbdSubscriber(subscriber);
2096 HDF_LOGI("UsbdTransferTest::UnbindUsbdSubscriber005 %{public}d first BindUsbdSubscriber=%{public}d", __LINE__, ret);
2097 ASSERT_EQ(0, ret);
2098 ret = g_usbInterface->UnbindUsbdSubscriber(subscriber);
2099 HDF_LOGI(
2100 "UsbdTransferTest::UnbindUsbdSubscriber005 %{public}d first UnbindUsbdSubscriber=%{public}d", __LINE__, ret);
2101 ASSERT_EQ(0, ret);
2102 ret = g_usbInterface->BindUsbdSubscriber(subscriber);
2103 HDF_LOGI("UsbdTransferTest::UnbindUsbdSubscriber005 %{public}d again BindUsbdSubscriber=%{public}d", __LINE__, ret);
2104 ASSERT_EQ(0, ret);
2105 ret = g_usbInterface->UnbindUsbdSubscriber(subscriber);
2106 HDF_LOGI(
2107 "UsbdTransferTest::UnbindUsbdSubscriber005 %{public}d again UnbindUsbdSubscriber=%{public}d", __LINE__, ret);
2108 ASSERT_EQ(0, ret);
2109 }
2110
2111 /**
2112 * @tc.name: BindUsbdSubscriber001
2113 * @tc.desc: Test functions to int32_t BindUsbdSubscriber(const sptr<IUsbdSubscriber> &subscriber)
2114 * @tc.desc: Positive test: parameters correctly
2115 * @tc.type: FUNC
2116 */
2117 HWTEST_F(UsbdTransferTest, BindUsbdSubscriber001, TestSize.Level1)
2118 {
2119 sptr<UsbSubscriberTest> subscriber = new UsbSubscriberTest();
2120 if (subscriber == nullptr) {
2121 HDF_LOGE("%{public}s:UsbSubscriberTest new failed.", __func__);
2122 exit(0);
2123 }
2124 auto ret = g_usbInterface->BindUsbdSubscriber(subscriber);
2125 HDF_LOGI("UsbdTransferTest::BindUsbdSubscriber001 %{public}d BindUsbdSubscriber=%{public}d", __LINE__, ret);
2126 ASSERT_EQ(0, ret);
2127 }
2128
2129 /**
2130 * @tc.name: BindUsbdSubscriber002
2131 * @tc.desc: Test functions to int32_t BindUsbdSubscriber(const sptr<IUsbdSubscriber> &subscriber)
2132 * @tc.desc: Positive test: bind different
2133 * @tc.type: FUNC
2134 */
2135 HWTEST_F(UsbdTransferTest, BindUsbdSubscriber002, TestSize.Level1)
2136 {
2137 sptr<UsbSubscriberTest> subscriber = new UsbSubscriberTest();
2138 if (subscriber == nullptr) {
2139 HDF_LOGE("%{public}s:UsbSubscriberTest new failed.", __func__);
2140 exit(0);
2141 }
2142 auto ret = g_usbInterface->BindUsbdSubscriber(subscriber);
2143 HDF_LOGI("UsbdTransferTest::BindUsbdSubscriber002 %{public}d BindUsbdSubscriber=%{public}d", __LINE__, ret);
2144 ASSERT_EQ(0, ret);
2145 sptr<UsbSubscriberTest> subscriber2 = new UsbSubscriberTest();
2146 if (subscriber == nullptr) {
2147 HDF_LOGE("%{public}s:UsbSubscriberTest new failed.", __func__);
2148 exit(0);
2149 }
2150 ret = g_usbInterface->BindUsbdSubscriber(subscriber2);
2151 HDF_LOGI("UsbdTransferTest::BindUsbdSubscriber002 %{public}d again BindUsbdSubscriber=%{public}d", __LINE__, ret);
2152 ASSERT_EQ(0, ret);
2153 }
2154
2155 /**
2156 * @tc.name: BindUsbdSubscriber003
2157 * @tc.desc: Test functions to int32_t BindUsbdSubscriber(const sptr<IUsbdSubscriber> &subscriber)
2158 * @tc.desc: Positive test: bind same
2159 * @tc.type: FUNC
2160 */
2161 HWTEST_F(UsbdTransferTest, BindUsbdSubscriber003, TestSize.Level1)
2162 {
2163 sptr<UsbSubscriberTest> subscriber = new UsbSubscriberTest();
2164 if (subscriber == nullptr) {
2165 HDF_LOGE("%{public}s:UsbSubscriberTest new failed.", __func__);
2166 exit(0);
2167 }
2168 auto ret = g_usbInterface->BindUsbdSubscriber(subscriber);
2169 HDF_LOGI("UsbdTransferTest::BindUsbdSubscriber003 %{public}d BindUsbdSubscriber=%{public}d", __LINE__, ret);
2170 ASSERT_EQ(0, ret);
2171 ret = g_usbInterface->BindUsbdSubscriber(subscriber);
2172 HDF_LOGI("UsbdTransferTest::BindUsbdSubscriber003 %{public}d again BindUsbdSubscriber=%{public}d", __LINE__, ret);
2173 ASSERT_EQ(0, ret);
2174 }
2175
2176 /**
2177 * @tc.name: BindUsbdSubscriber004
2178 * @tc.desc: Test functions to int32_t BindUsbdSubscriber(const sptr<IUsbdSubscriber> &subscriber)
2179 * @tc.desc: Positive test: bind and unbind, then bind another
2180 * @tc.type: FUNC
2181 */
2182 HWTEST_F(UsbdTransferTest, BindUsbdSubscriber004, TestSize.Level1)
2183 {
2184 sptr<UsbSubscriberTest> subscriber = new UsbSubscriberTest();
2185 if (subscriber == nullptr) {
2186 HDF_LOGE("%{public}s:UsbSubscriberTest new failed.", __func__);
2187 exit(0);
2188 }
2189 auto ret = g_usbInterface->BindUsbdSubscriber(subscriber);
2190 HDF_LOGI("UsbdTransferTest::BindUsbdSubscriber004 %{public}d BindUsbdSubscriber=%{public}d", __LINE__, ret);
2191 ASSERT_EQ(0, ret);
2192 ret = g_usbInterface->UnbindUsbdSubscriber(subscriber);
2193 HDF_LOGI("UsbdTransferTest::bindUsbdSubscriber005 %{public}d UnbindUsbdSubscriber=%{public}d", __LINE__, ret);
2194 ASSERT_EQ(0, ret);
2195 sptr<UsbSubscriberTest> subscriber2 = new UsbSubscriberTest();
2196 if (subscriber == nullptr) {
2197 HDF_LOGE("%{public}s:UsbSubscriberTest new failed.", __func__);
2198 exit(0);
2199 }
2200 ret = g_usbInterface->BindUsbdSubscriber(subscriber2);
2201 HDF_LOGI("UsbdTransferTest::BindUsbdSubscriber004 again %{public}d BindUsbdSubscriber=%{public}d", __LINE__, ret);
2202 ASSERT_EQ(0, ret);
2203 }
2204
2205 /**
2206 * @tc.name: BindUsbdSubscriber005
2207 * @tc.desc: Test functions to int32_t BindUsbdSubscriber(const sptr<IUsbdSubscriber> &subscriber)
2208 * @tc.desc: Positive test: bind again after unbind
2209 * @tc.type: FUNC
2210 */
2211 HWTEST_F(UsbdTransferTest, BindUsbdSubscriber005, TestSize.Level1)
2212 {
2213 sptr<UsbSubscriberTest> subscriber = new UsbSubscriberTest();
2214 if (subscriber == nullptr) {
2215 HDF_LOGE("%{public}s:UsbSubscriberTest new failed.", __func__);
2216 exit(0);
2217 }
2218 auto ret = g_usbInterface->BindUsbdSubscriber(subscriber);
2219 HDF_LOGI("UsbdTransferTest::BindUsbdSubscriber005 %{public}d BindUsbdSubscriber=%{public}d", __LINE__, ret);
2220 ASSERT_EQ(0, ret);
2221 ret = g_usbInterface->UnbindUsbdSubscriber(subscriber);
2222 HDF_LOGI("UsbdTransferTest::bindUsbdSubscriber005 %{public}d UnbindUsbdSubscriber=%{public}d", __LINE__, ret);
2223 ASSERT_EQ(0, ret);
2224 ret = g_usbInterface->BindUsbdSubscriber(subscriber);
2225 HDF_LOGI("UsbdTransferTest::bindUsbdSubscriber005 %{public}d again BindUsbdSubscriber=%{public}d", __LINE__, ret);
2226 ASSERT_EQ(0, ret);
2227 }
2228 } // namespace
2229