1 /*
2 * Copyright (c) 2023-2025 Huawei Device Co., Ltd.
3 * Licensed under the Apache License, Version 2.0 (the "License");
4 * you may not use this file except in compliance with the License.
5 * You may obtain a copy of the License at
6 *
7 * http://www.apache.org/licenses/LICENSE-2.0
8 *
9 * Unless required by applicable law or agreed to in writing, software
10 * distributed under the License is distributed on an "AS IS" BASIS,
11 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 * See the License for the specific language governing permissions and
13 * limitations under the License.
14 */
15 #include <iostream>
16 #include <vector>
17
18 #include "hdf_log.h"
19 #include "securec.h"
20 #include "usbd_transfer_test.h"
21 #include "v1_0/iusb_interface.h"
22 #include "v1_0/usb_types.h"
23
24 const int SLEEP_TIME = 3;
25 const uint32_t MAX_BUFFER_LENGTH = 255;
26 const uint8_t SAMPLE_DATA_1 = 1;
27 const uint8_t SAMPLE_DATA_2 = 2;
28 const uint8_t SAMPLE_DATA_3 = 3;
29 const int32_t TRANSFER_TIME_OUT = 1000;
30 const int32_t CTL_VALUE = 0x100;
31
32 using namespace testing::ext;
33 using namespace OHOS;
34 using namespace OHOS::USB;
35 using namespace std;
36 using namespace OHOS::HDI::Usb::V1_0;
37
38 UsbDev UsbdTransferTestAdditional::dev_ = {0, 0};
39 sptr<UsbSubscriberTest> UsbdTransferTestAdditional::subscriber_ = nullptr;
40
41 namespace {
42 sptr<IUsbInterface> g_usbInterface = nullptr;
43
SetUpTestCase(void)44 void UsbdTransferTestAdditional::SetUpTestCase(void)
45 {
46 g_usbInterface = IUsbInterface::Get();
47 if (g_usbInterface == nullptr) {
48 HDF_LOGE("%{public}s:IUsbInterface::Get() failed.", __func__);
49 exit(0);
50 }
51 const int32_t DEFAULT_PORT_ID = 1;
52 const int32_t DEFAULT_ROLE_HOST = 1;
53 auto ret = g_usbInterface->SetPortRole(DEFAULT_PORT_ID, DEFAULT_ROLE_HOST, DEFAULT_ROLE_HOST);
54 sleep(SLEEP_TIME);
55 HDF_LOGI("UsbdTransferTestAdditional::[Device] %{public}d SetPortRole=%{public}d", __LINE__, ret);
56 if (ret != 0) {
57 ASSERT_EQ(HDF_ERR_NOT_SUPPORT, ret);
58 } else {
59 ASSERT_EQ(0, ret);
60 }
61
62 subscriber_ = new UsbSubscriberTest();
63 if (subscriber_ == nullptr) {
64 HDF_LOGE("%{public}s:UsbSubscriberTest new failed.", __func__);
65 exit(0);
66 }
67 if (g_usbInterface->BindUsbdSubscriber(subscriber_) != HDF_SUCCESS) {
68 HDF_LOGE("%{public}s: bind usbd subscriber_ failed\n", __func__);
69 exit(0);
70 }
71
72 std::cout << "please connect device, press enter to continue" << std::endl;
73 int c;
74 do {
75 c = getchar();
76 } while (c != '\n' && c != EOF);
77
78 dev_ = {subscriber_->busNum_, subscriber_->devAddr_};
79 ret = g_usbInterface->OpenDevice(dev_);
80 HDF_LOGI("UsbdTransferTestAdditional:: %{public}d OpenDevice=%{public}d", __LINE__, ret);
81 ASSERT_EQ(0, ret);
82 }
83
TearDownTestCase(void)84 void UsbdTransferTestAdditional::TearDownTestCase(void)
85 {
86 g_usbInterface->UnbindUsbdSubscriber(subscriber_);
87 dev_ = {subscriber_->busNum_, subscriber_->devAddr_};
88 auto ret = g_usbInterface->CloseDevice(dev_);
89 HDF_LOGI("UsbdTransferTestAdditional:: %{public}d Close=%{public}d", __LINE__, ret);
90 ASSERT_EQ(0, ret);
91 }
92
SetUp(void)93 void UsbdTransferTestAdditional::SetUp(void) {}
94
TearDown(void)95 void UsbdTransferTestAdditional::TearDown(void) {}
96
97 /**
98 * @tc.number: SUB_Driver_Usb_TransferTest_ControlTransferWrite_2100
99 * @tc.name: testHdiUsbTransferTestControlTransferWrite001
100 * @tc.desc: Performs control transfer for endpoint 0 of the device.
101 * dev = (0,255). ctrlparmas = (USB_ENDPOINT_DIR_OUT | USB_REQUEST_TARGET_DEVICE, 0, 0, 0, TRANSFER_TIME_OUT).
102 */
103 HWTEST_F(UsbdTransferTestAdditional, testHdiUsbTransferTestControlTransferWrite001, TestSize.Level2)
104 {
105 struct UsbDev dev = {0, 255};
106 std::vector<uint8_t> bufferData(MAX_BUFFER_LENGTH);
107 bufferData.push_back(SAMPLE_DATA_1);
108 bufferData.push_back(SAMPLE_DATA_2);
109 bufferData.push_back(SAMPLE_DATA_3);
110 struct UsbCtrlTransfer ctrlparmas = {USB_ENDPOINT_DIR_OUT | USB_REQUEST_TARGET_DEVICE, 0, 0, 0, TRANSFER_TIME_OUT};
111 auto ret = g_usbInterface->ControlTransferWrite(dev, ctrlparmas, bufferData);
112 ASSERT_NE(ret, 0);
113 }
114
115 /**
116 * @tc.number: SUB_Driver_Usb_TransferTest_ControlTransferWrite_2200
117 * @tc.name: testHdiUsbTransferTestControlTransferWrite002
118 * @tc.desc: Performs control transfer for endpoint 0 of the device. dev = (0,255).
119 * ctrlparmas = (USB_ENDPOINT_DIR_OUT | USB_REQUEST_TARGET_DEVICE, USB_DDK_REQ_GET_DESCRIPTOR, 0, 0, TRANSFER_TIME_OUT).
120 */
121 HWTEST_F(UsbdTransferTestAdditional, testHdiUsbTransferTestControlTransferWrite002, TestSize.Level2)
122 {
123 struct UsbDev dev = {0, 255};
124 std::vector<uint8_t> bufferData(MAX_BUFFER_LENGTH);
125 bufferData.push_back(SAMPLE_DATA_1);
126 bufferData.push_back(SAMPLE_DATA_2);
127 bufferData.push_back(SAMPLE_DATA_3);
128 struct UsbCtrlTransfer ctrlparmas = {USB_ENDPOINT_DIR_OUT | USB_REQUEST_TARGET_DEVICE, USB_DDK_REQ_GET_DESCRIPTOR,
129 0, 0, TRANSFER_TIME_OUT};
130 auto ret = g_usbInterface->ControlTransferWrite(dev, ctrlparmas, bufferData);
131 ASSERT_NE(ret, 0);
132 }
133
134 /**
135 * @tc.number: SUB_Driver_Usb_TransferTest_ControlTransferWrite_2300
136 * @tc.name: testHdiUsbTransferTestControlTransferWrite003
137 * @tc.desc: Performs control transfer for endpoint 0 of the device. dev = (0,255).
138 * ctrlparmas = (USB_ENDPOINT_DIR_OUT | USB_REQUEST_TARGET_DEVICE, USB_DDK_REQ_GET_CONFIGURATION, 0, 0,
139 * TRANSFER_TIME_OUT).
140 */
141 HWTEST_F(UsbdTransferTestAdditional, testHdiUsbTransferTestControlTransferWrite003, TestSize.Level2)
142 {
143 struct UsbDev dev = {0, 255};
144 std::vector<uint8_t> bufferData(MAX_BUFFER_LENGTH);
145 bufferData.push_back(SAMPLE_DATA_1);
146 bufferData.push_back(SAMPLE_DATA_2);
147 bufferData.push_back(SAMPLE_DATA_3);
148 struct UsbCtrlTransfer ctrlparmas = {USB_ENDPOINT_DIR_OUT | USB_REQUEST_TARGET_DEVICE,
149 USB_DDK_REQ_GET_CONFIGURATION, 0, 0, TRANSFER_TIME_OUT};
150 auto ret = g_usbInterface->ControlTransferWrite(dev, ctrlparmas, bufferData);
151 ASSERT_NE(ret, 0);
152 }
153
154 /**
155 * @tc.number: SUB_Driver_Usb_TransferTest_ControlTransferWrite_2400
156 * @tc.name: testHdiUsbTransferTestControlTransferWrite004
157 * @tc.desc: Performs control transfer for endpoint 0 of the device. dev = (0,255).
158 * ctrlparmas = (USB_ENDPOINT_DIR_OUT | USB_REQUEST_TARGET_DEVICE, USB_DDK_REQ_GET_INTERFACE, 0, 0, TRANSFER_TIME_OUT).
159 */
160 HWTEST_F(UsbdTransferTestAdditional, testHdiUsbTransferTestControlTransferWrite004, TestSize.Level2)
161 {
162 struct UsbDev dev = {0, 255};
163 std::vector<uint8_t> bufferData(MAX_BUFFER_LENGTH);
164 bufferData.push_back(SAMPLE_DATA_1);
165 bufferData.push_back(SAMPLE_DATA_2);
166 bufferData.push_back(SAMPLE_DATA_3);
167 struct UsbCtrlTransfer ctrlparmas = {USB_ENDPOINT_DIR_OUT | USB_REQUEST_TARGET_DEVICE, USB_DDK_REQ_GET_INTERFACE, 0,
168 0, TRANSFER_TIME_OUT};
169 auto ret = g_usbInterface->ControlTransferWrite(dev, ctrlparmas, bufferData);
170 ASSERT_NE(ret, 0);
171 }
172
173 /**
174 * @tc.number: SUB_Driver_Usb_TransferTest_ControlTransferWrite_2500
175 * @tc.name: testHdiUsbTransferTestControlTransferWrite005
176 * @tc.desc: Performs control transfer for endpoint 0 of the device. dev = (0,255).
177 * ctrlparmas = (USB_ENDPOINT_DIR_OUT | USB_REQUEST_TARGET_DEVICE, USB_DDK_REQ_SYNCH_FRAME, 0, 0, TRANSFER_TIME_OUT).
178 */
179 HWTEST_F(UsbdTransferTestAdditional, testHdiUsbTransferTestControlTransferWrite005, TestSize.Level2)
180 {
181 struct UsbDev dev = {0, 255};
182 std::vector<uint8_t> bufferData(MAX_BUFFER_LENGTH);
183 bufferData.push_back(SAMPLE_DATA_1);
184 bufferData.push_back(SAMPLE_DATA_2);
185 bufferData.push_back(SAMPLE_DATA_3);
186 struct UsbCtrlTransfer ctrlparmas = {USB_ENDPOINT_DIR_OUT | USB_REQUEST_TARGET_DEVICE, USB_DDK_REQ_SYNCH_FRAME, 0,
187 0, TRANSFER_TIME_OUT};
188 auto ret = g_usbInterface->ControlTransferWrite(dev, ctrlparmas, bufferData);
189 ASSERT_NE(ret, 0);
190 }
191
192 /**
193 * @tc.number: SUB_Driver_Usb_TransferTest_ControlTransferWrite_2600
194 * @tc.name: testHdiUsbTransferTestControlTransferWrite006
195 * @tc.desc: Performs control transfer for endpoint 0 of the device.
196 * dev = (255,0). ctrlparmas = (USB_ENDPOINT_DIR_OUT | USB_REQUEST_TARGET_DEVICE, 0, 0, 0, TRANSFER_TIME_OUT).
197 */
198 HWTEST_F(UsbdTransferTestAdditional, testHdiUsbTransferTestControlTransferWrite006, TestSize.Level2)
199 {
200 struct UsbDev dev = {255, 0};
201 std::vector<uint8_t> bufferData(MAX_BUFFER_LENGTH);
202 bufferData.push_back(SAMPLE_DATA_1);
203 bufferData.push_back(SAMPLE_DATA_2);
204 bufferData.push_back(SAMPLE_DATA_3);
205 struct UsbCtrlTransfer ctrlparmas = {USB_ENDPOINT_DIR_OUT | USB_REQUEST_TARGET_DEVICE, 0, 0, 0, TRANSFER_TIME_OUT};
206 auto ret = g_usbInterface->ControlTransferWrite(dev, ctrlparmas, bufferData);
207 ASSERT_NE(ret, 0);
208 }
209
210 /**
211 * @tc.number: SUB_Driver_Usb_TransferTest_ControlTransferWrite_2700
212 * @tc.name: testHdiUsbTransferTestControlTransferWrite007
213 * @tc.desc: Performs control transfer for endpoint 0 of the device. dev = (255,0).
214 * ctrlparmas = (USB_ENDPOINT_DIR_OUT | USB_REQUEST_TARGET_DEVICE, USB_DDK_REQ_GET_DESCRIPTOR, 0, 0, TRANSFER_TIME_OUT).
215 */
216 HWTEST_F(UsbdTransferTestAdditional, testHdiUsbTransferTestControlTransferWrite007, TestSize.Level2)
217 {
218 struct UsbDev dev = {255, 0};
219 std::vector<uint8_t> bufferData(MAX_BUFFER_LENGTH);
220 bufferData.push_back(SAMPLE_DATA_1);
221 bufferData.push_back(SAMPLE_DATA_2);
222 bufferData.push_back(SAMPLE_DATA_3);
223 struct UsbCtrlTransfer ctrlparmas = {USB_ENDPOINT_DIR_OUT | USB_REQUEST_TARGET_DEVICE, USB_DDK_REQ_GET_DESCRIPTOR,
224 0, 0, TRANSFER_TIME_OUT};
225 auto ret = g_usbInterface->ControlTransferWrite(dev, ctrlparmas, bufferData);
226 ASSERT_NE(ret, 0);
227 }
228
229 /**
230 * @tc.number: SUB_Driver_Usb_TransferTest_ControlTransferWrite_2800
231 * @tc.name: testHdiUsbTransferTestControlTransferWrite008
232 * @tc.desc: Performs control transfer for endpoint 0 of the device. dev = (255,0).
233 * ctrlparmas = (USB_ENDPOINT_DIR_OUT | USB_REQUEST_TARGET_DEVICE, USB_DDK_REQ_GET_CONFIGURATION, 0, 0,
234 * TRANSFER_TIME_OUT).
235 */
236 HWTEST_F(UsbdTransferTestAdditional, testHdiUsbTransferTestControlTransferWrite008, TestSize.Level2)
237 {
238 struct UsbDev dev = {255, 0};
239 std::vector<uint8_t> bufferData(MAX_BUFFER_LENGTH);
240 bufferData.push_back(SAMPLE_DATA_1);
241 bufferData.push_back(SAMPLE_DATA_2);
242 bufferData.push_back(SAMPLE_DATA_3);
243 struct UsbCtrlTransfer ctrlparmas = {USB_ENDPOINT_DIR_OUT | USB_REQUEST_TARGET_DEVICE,
244 USB_DDK_REQ_GET_CONFIGURATION, 0, 0, TRANSFER_TIME_OUT};
245 auto ret = g_usbInterface->ControlTransferWrite(dev, ctrlparmas, bufferData);
246 ASSERT_NE(ret, 0);
247 }
248
249 /**
250 * @tc.number: SUB_Driver_Usb_TransferTest_ControlTransferWrite_2900
251 * @tc.name: testHdiUsbTransferTestControlTransferWrite009
252 * @tc.desc: Performs control transfer for endpoint 0 of the device. dev = (255,0).
253 * ctrlparmas = (USB_ENDPOINT_DIR_OUT | USB_REQUEST_TARGET_DEVICE, USB_DDK_REQ_GET_INTERFACE, 0, 0, TRANSFER_TIME_OUT).
254 */
255 HWTEST_F(UsbdTransferTestAdditional, testHdiUsbTransferTestControlTransferWrite009, TestSize.Level2)
256 {
257 struct UsbDev dev = {255, 0};
258 std::vector<uint8_t> bufferData(MAX_BUFFER_LENGTH);
259 bufferData.push_back(SAMPLE_DATA_1);
260 bufferData.push_back(SAMPLE_DATA_2);
261 bufferData.push_back(SAMPLE_DATA_3);
262 struct UsbCtrlTransfer ctrlparmas = {USB_ENDPOINT_DIR_OUT | USB_REQUEST_TARGET_DEVICE, USB_DDK_REQ_GET_INTERFACE, 0,
263 0, TRANSFER_TIME_OUT};
264 auto ret = g_usbInterface->ControlTransferWrite(dev, ctrlparmas, bufferData);
265 ASSERT_NE(ret, 0);
266 }
267
268 /**
269 * @tc.number: SUB_Driver_Usb_TransferTest_ControlTransferWrite_3000
270 * @tc.name: testHdiUsbTransferTestControlTransferWrite010
271 * @tc.desc: Performs control transfer for endpoint 0 of the device. dev = (255,0).
272 * ctrlparmas = (USB_ENDPOINT_DIR_OUT | USB_REQUEST_TARGET_DEVICE, USB_DDK_REQ_SYNCH_FRAME, 0, 0, TRANSFER_TIME_OUT).
273 */
274 HWTEST_F(UsbdTransferTestAdditional, testHdiUsbTransferTestControlTransferWrite010, TestSize.Level2)
275 {
276 struct UsbDev dev = {255, 0};
277 std::vector<uint8_t> bufferData(MAX_BUFFER_LENGTH);
278 bufferData.push_back(SAMPLE_DATA_1);
279 bufferData.push_back(SAMPLE_DATA_2);
280 bufferData.push_back(SAMPLE_DATA_3);
281 struct UsbCtrlTransfer ctrlparmas = {USB_ENDPOINT_DIR_OUT | USB_REQUEST_TARGET_DEVICE, USB_DDK_REQ_SYNCH_FRAME, 0,
282 0, TRANSFER_TIME_OUT};
283 auto ret = g_usbInterface->ControlTransferWrite(dev, ctrlparmas, bufferData);
284 ASSERT_NE(ret, 0);
285 }
286
287 /**
288 * @tc.number: SUB_Driver_Usb_TransferTest_ControlTransferWrite_3100
289 * @tc.name: testHdiUsbTransferTestControlTransferWrite011
290 * @tc.desc: Performs control transfer for endpoint 0 of the device. dev = (255,255).
291 * ctrlparmas = (USB_ENDPOINT_DIR_OUT | USB_REQUEST_TARGET_INTERFACE, 0, 0, 0, TRANSFER_TIME_OUT).
292 */
293 HWTEST_F(UsbdTransferTestAdditional, testHdiUsbTransferTestControlTransferWrite011, TestSize.Level2)
294 {
295 struct UsbDev dev = {255, 255};
296 std::vector<uint8_t> bufferData(MAX_BUFFER_LENGTH);
297 bufferData.push_back(SAMPLE_DATA_1);
298 bufferData.push_back(SAMPLE_DATA_2);
299 bufferData.push_back(SAMPLE_DATA_3);
300 struct UsbCtrlTransfer ctrlparmas = {USB_ENDPOINT_DIR_OUT | USB_REQUEST_TARGET_INTERFACE, 0, 0, 0,
301 TRANSFER_TIME_OUT};
302 auto ret = g_usbInterface->ControlTransferWrite(dev, ctrlparmas, bufferData);
303 ASSERT_NE(ret, 0);
304 }
305
306 /**
307 * @tc.number: SUB_Driver_Usb_TransferTest_ControlTransferWrite_3200
308 * @tc.name: testHdiUsbTransferTestControlTransferWrite012
309 * @tc.desc: Performs control transfer for endpoint 0 of the device. dev = (255,255).
310 * ctrlparmas = (USB_ENDPOINT_DIR_OUT | USB_REQUEST_TARGET_INTERFACE, USB_DDK_REQ_GET_DESCRIPTOR, 0, 0,
311 * TRANSFER_TIME_OUT).
312 */
313 HWTEST_F(UsbdTransferTestAdditional, testHdiUsbTransferTestControlTransferWrite012, TestSize.Level2)
314 {
315 struct UsbDev dev = {255, 255};
316 std::vector<uint8_t> bufferData(MAX_BUFFER_LENGTH);
317 bufferData.push_back(SAMPLE_DATA_1);
318 bufferData.push_back(SAMPLE_DATA_2);
319 bufferData.push_back(SAMPLE_DATA_3);
320 struct UsbCtrlTransfer ctrlparmas = {USB_ENDPOINT_DIR_OUT | USB_REQUEST_TARGET_INTERFACE,
321 USB_DDK_REQ_GET_DESCRIPTOR, 0, 0, TRANSFER_TIME_OUT};
322 auto ret = g_usbInterface->ControlTransferWrite(dev, ctrlparmas, bufferData);
323 ASSERT_NE(ret, 0);
324 }
325
326 /**
327 * @tc.number: SUB_Driver_Usb_TransferTest_ControlTransferWrite_3300
328 * @tc.name: testHdiUsbTransferTestControlTransferWrite013
329 * @tc.desc: Performs control transfer for endpoint 0 of the device. dev = (255,255).
330 * ctrlparmas = (USB_ENDPOINT_DIR_OUT | USB_REQUEST_TARGET_INTERFACE, USB_DDK_REQ_GET_CONFIGURATION, 0, 0,
331 * TRANSFER_TIME_OUT).
332 */
333 HWTEST_F(UsbdTransferTestAdditional, testHdiUsbTransferTestControlTransferWrite013, TestSize.Level2)
334 {
335 struct UsbDev dev = {255, 255};
336 std::vector<uint8_t> bufferData(MAX_BUFFER_LENGTH);
337 bufferData.push_back(SAMPLE_DATA_1);
338 bufferData.push_back(SAMPLE_DATA_2);
339 bufferData.push_back(SAMPLE_DATA_3);
340 struct UsbCtrlTransfer ctrlparmas = {USB_ENDPOINT_DIR_OUT | USB_REQUEST_TARGET_INTERFACE,
341 USB_DDK_REQ_GET_CONFIGURATION, 0, 0, TRANSFER_TIME_OUT};
342 auto ret = g_usbInterface->ControlTransferWrite(dev, ctrlparmas, bufferData);
343 ASSERT_NE(ret, 0);
344 }
345
346 /**
347 * @tc.number: SUB_Driver_Usb_TransferTest_ControlTransferWrite_3400
348 * @tc.name: testHdiUsbTransferTestControlTransferWrite014
349 * @tc.desc: Performs control transfer for endpoint 0 of the device. dev = (255,255).
350 * ctrlparmas = (USB_ENDPOINT_DIR_OUT | USB_REQUEST_TARGET_INTERFACE, USB_DDK_REQ_GET_INTERFACE, 0, 0,
351 * TRANSFER_TIME_OUT).
352 */
353 HWTEST_F(UsbdTransferTestAdditional, testHdiUsbTransferTestControlTransferWrite014, TestSize.Level2)
354 {
355 struct UsbDev dev = {255, 255};
356 std::vector<uint8_t> bufferData(MAX_BUFFER_LENGTH);
357 bufferData.push_back(SAMPLE_DATA_1);
358 bufferData.push_back(SAMPLE_DATA_2);
359 bufferData.push_back(SAMPLE_DATA_3);
360 struct UsbCtrlTransfer ctrlparmas = {USB_ENDPOINT_DIR_OUT | USB_REQUEST_TARGET_INTERFACE, USB_DDK_REQ_GET_INTERFACE,
361 0, 0, TRANSFER_TIME_OUT};
362 auto ret = g_usbInterface->ControlTransferWrite(dev, ctrlparmas, bufferData);
363 ASSERT_NE(ret, 0);
364 }
365
366 /**
367 * @tc.number: SUB_Driver_Usb_TransferTest_ControlTransferWrite_3500
368 * @tc.name: testHdiUsbTransferTestControlTransferWrite015
369 * @tc.desc: Performs control transfer for endpoint 0 of the device. dev = (255,255).
370 * ctrlparmas = (USB_ENDPOINT_DIR_OUT | USB_REQUEST_TARGET_INTERFACE, USB_DDK_REQ_SYNCH_FRAME, 0, 0,
371 * TRANSFER_TIME_OUT).
372 */
373 HWTEST_F(UsbdTransferTestAdditional, testHdiUsbTransferTestControlTransferWrite015, TestSize.Level2)
374 {
375 struct UsbDev dev = {255, 255};
376 std::vector<uint8_t> bufferData(MAX_BUFFER_LENGTH);
377 bufferData.push_back(SAMPLE_DATA_1);
378 bufferData.push_back(SAMPLE_DATA_2);
379 bufferData.push_back(SAMPLE_DATA_3);
380 struct UsbCtrlTransfer ctrlparmas = {USB_ENDPOINT_DIR_OUT | USB_REQUEST_TARGET_INTERFACE, USB_DDK_REQ_SYNCH_FRAME,
381 0, 0, TRANSFER_TIME_OUT};
382 auto ret = g_usbInterface->ControlTransferWrite(dev, ctrlparmas, bufferData);
383 ASSERT_NE(ret, 0);
384 }
385
386 /**
387 * @tc.number: SUB_Driver_Usb_TransferTest_ControlTransferWrite_3600
388 * @tc.name: testHdiUsbTransferTestControlTransferWrite016
389 * @tc.desc: Performs control transfer for endpoint 0 of the device. dev = (255,255).
390 * ctrlparmas = (USB_ENDPOINT_DIR_OUT | USB_REQUEST_TARGET_ENDPOINT, 0, 0, 0, TRANSFER_TIME_OUT).
391 */
392 HWTEST_F(UsbdTransferTestAdditional, testHdiUsbTransferTestControlTransferWrite016, TestSize.Level2)
393 {
394 struct UsbDev dev = {255, 255};
395 std::vector<uint8_t> bufferData(MAX_BUFFER_LENGTH);
396 bufferData.push_back(SAMPLE_DATA_1);
397 bufferData.push_back(SAMPLE_DATA_2);
398 bufferData.push_back(SAMPLE_DATA_3);
399 struct UsbCtrlTransfer ctrlparmas = {USB_ENDPOINT_DIR_OUT | USB_REQUEST_TARGET_ENDPOINT, 0, 0, 0,
400 TRANSFER_TIME_OUT};
401 auto ret = g_usbInterface->ControlTransferWrite(dev, ctrlparmas, bufferData);
402 ASSERT_NE(ret, 0);
403 }
404
405 /**
406 * @tc.number: SUB_Driver_Usb_TransferTest_ControlTransferWrite_3700
407 * @tc.name: testHdiUsbTransferTestControlTransferWrite017
408 * @tc.desc: Performs control transfer for endpoint 0 of the device. dev = (255,255).
409 * ctrlparmas = (USB_ENDPOINT_DIR_OUT | USB_REQUEST_TARGET_ENDPOINT, USB_DDK_REQ_GET_DESCRIPTOR, 0, 0,
410 * TRANSFER_TIME_OUT).
411 */
412 HWTEST_F(UsbdTransferTestAdditional, testHdiUsbTransferTestControlTransferWrite017, TestSize.Level2)
413 {
414 struct UsbDev dev = {255, 255};
415 std::vector<uint8_t> bufferData(MAX_BUFFER_LENGTH);
416 bufferData.push_back(SAMPLE_DATA_1);
417 bufferData.push_back(SAMPLE_DATA_2);
418 bufferData.push_back(SAMPLE_DATA_3);
419 struct UsbCtrlTransfer ctrlparmas = {USB_ENDPOINT_DIR_OUT | USB_REQUEST_TARGET_ENDPOINT, USB_DDK_REQ_GET_DESCRIPTOR,
420 0, 0, TRANSFER_TIME_OUT};
421 auto ret = g_usbInterface->ControlTransferWrite(dev, ctrlparmas, bufferData);
422 ASSERT_NE(ret, 0);
423 }
424
425 /**
426 * @tc.number: SUB_Driver_Usb_TransferTest_ControlTransferWrite_3800
427 * @tc.name: testHdiUsbTransferTestControlTransferWrite018
428 * @tc.desc: Performs control transfer for endpoint 0 of the device. dev = (255,255).
429 * ctrlparmas = (USB_ENDPOINT_DIR_OUT | USB_REQUEST_TARGET_ENDPOINT, USB_DDK_REQ_GET_CONFIGURATION, 0, 0,
430 * TRANSFER_TIME_OUT).
431 */
432 HWTEST_F(UsbdTransferTestAdditional, testHdiUsbTransferTestControlTransferWrite018, TestSize.Level2)
433 {
434 struct UsbDev dev = {255, 255};
435 std::vector<uint8_t> bufferData(MAX_BUFFER_LENGTH);
436 bufferData.push_back(SAMPLE_DATA_1);
437 bufferData.push_back(SAMPLE_DATA_2);
438 bufferData.push_back(SAMPLE_DATA_3);
439 struct UsbCtrlTransfer ctrlparmas = {USB_ENDPOINT_DIR_OUT | USB_REQUEST_TARGET_ENDPOINT,
440 USB_DDK_REQ_GET_CONFIGURATION, 0, 0, TRANSFER_TIME_OUT};
441 auto ret = g_usbInterface->ControlTransferWrite(dev, ctrlparmas, bufferData);
442 ASSERT_NE(ret, 0);
443 }
444
445 /**
446 * @tc.number: SUB_Driver_Usb_TransferTest_ControlTransferWrite_3900
447 * @tc.name: testHdiUsbTransferTestControlTransferWrite019
448 * @tc.desc: Performs control transfer for endpoint 0 of the device. dev = (255,255).
449 * ctrlparmas = (USB_ENDPOINT_DIR_OUT | USB_REQUEST_TARGET_ENDPOINT, USB_DDK_REQ_GET_INTERFACE, 0, 0,
450 * TRANSFER_TIME_OUT).
451 */
452 HWTEST_F(UsbdTransferTestAdditional, testHdiUsbTransferTestControlTransferWrite019, TestSize.Level2)
453 {
454 struct UsbDev dev = {255, 255};
455 std::vector<uint8_t> bufferData(MAX_BUFFER_LENGTH);
456 bufferData.push_back(SAMPLE_DATA_1);
457 bufferData.push_back(SAMPLE_DATA_2);
458 bufferData.push_back(SAMPLE_DATA_3);
459 struct UsbCtrlTransfer ctrlparmas = {USB_ENDPOINT_DIR_OUT | USB_REQUEST_TARGET_ENDPOINT, USB_DDK_REQ_GET_INTERFACE,
460 0, 0, TRANSFER_TIME_OUT};
461 auto ret = g_usbInterface->ControlTransferWrite(dev, ctrlparmas, bufferData);
462 ASSERT_NE(ret, 0);
463 }
464
465 /**
466 * @tc.number: SUB_Driver_Usb_TransferTest_ControlTransferWrite_4000
467 * @tc.name: testHdiUsbTransferTestControlTransferWrite020
468 * @tc.desc: Performs control transfer for endpoint 0 of the device. dev = (255,255).
469 * ctrlparmas = (USB_ENDPOINT_DIR_OUT | USB_REQUEST_TARGET_ENDPOINT, USB_DDK_REQ_SYNCH_FRAME, 0, 0,
470 * TRANSFER_TIME_OUT).
471 */
472 HWTEST_F(UsbdTransferTestAdditional, testHdiUsbTransferTestControlTransferWrite020, TestSize.Level2)
473 {
474 struct UsbDev dev = {255, 255};
475 std::vector<uint8_t> bufferData(MAX_BUFFER_LENGTH);
476 bufferData.push_back(SAMPLE_DATA_1);
477 bufferData.push_back(SAMPLE_DATA_2);
478 bufferData.push_back(SAMPLE_DATA_3);
479 struct UsbCtrlTransfer ctrlparmas = {USB_ENDPOINT_DIR_OUT | USB_REQUEST_TARGET_ENDPOINT, USB_DDK_REQ_SYNCH_FRAME, 0,
480 0, TRANSFER_TIME_OUT};
481 auto ret = g_usbInterface->ControlTransferWrite(dev, ctrlparmas, bufferData);
482 ASSERT_NE(ret, 0);
483 }
484
485 /**
486 * @tc.number: SUB_Driver_Usb_TransferTest_ControlTransferWrite_4100
487 * @tc.name: testHdiUsbTransferTestControlTransferWrite021
488 * @tc.desc: Performs control transfer for endpoint 0 of the device. dev = (255,255).
489 * ctrlparmas = (USB_ENDPOINT_DIR_OUT | USB_REQUEST_TARGET_OTHER, 0, 0, 0, TRANSFER_TIME_OUT).
490 */
491 HWTEST_F(UsbdTransferTestAdditional, testHdiUsbTransferTestControlTransferWrite021, TestSize.Level2)
492 {
493 struct UsbDev dev = {255, 255};
494 std::vector<uint8_t> bufferData(MAX_BUFFER_LENGTH);
495 bufferData.push_back(SAMPLE_DATA_1);
496 bufferData.push_back(SAMPLE_DATA_2);
497 bufferData.push_back(SAMPLE_DATA_3);
498 struct UsbCtrlTransfer ctrlparmas = {USB_ENDPOINT_DIR_OUT | USB_REQUEST_TARGET_OTHER, 0, 0, 0, TRANSFER_TIME_OUT};
499 auto ret = g_usbInterface->ControlTransferWrite(dev, ctrlparmas, bufferData);
500 ASSERT_NE(ret, 0);
501 }
502
503 /**
504 * @tc.number: SUB_Driver_Usb_TransferTest_ControlTransferWrite_4200
505 * @tc.name: testHdiUsbTransferTestControlTransferWrite022
506 * @tc.desc: Performs control transfer for endpoint 0 of the device. dev = (255,255).
507 * ctrlparmas = (USB_ENDPOINT_DIR_OUT | USB_REQUEST_TARGET_OTHER, USB_DDK_REQ_GET_DESCRIPTOR, 0, 0, TRANSFER_TIME_OUT).
508 */
509 HWTEST_F(UsbdTransferTestAdditional, testHdiUsbTransferTestControlTransferWrite022, TestSize.Level2)
510 {
511 struct UsbDev dev = {255, 255};
512 std::vector<uint8_t> bufferData(MAX_BUFFER_LENGTH);
513 bufferData.push_back(SAMPLE_DATA_1);
514 bufferData.push_back(SAMPLE_DATA_2);
515 bufferData.push_back(SAMPLE_DATA_3);
516 struct UsbCtrlTransfer ctrlparmas = {USB_ENDPOINT_DIR_OUT | USB_REQUEST_TARGET_OTHER, USB_DDK_REQ_GET_DESCRIPTOR, 0,
517 0, TRANSFER_TIME_OUT};
518 auto ret = g_usbInterface->ControlTransferWrite(dev, ctrlparmas, bufferData);
519 ASSERT_NE(ret, 0);
520 }
521
522 /**
523 * @tc.number: SUB_Driver_Usb_TransferTest_ControlTransferWrite_4300
524 * @tc.name: testHdiUsbTransferTestControlTransferWrite023
525 * @tc.desc: Performs control transfer for endpoint 0 of the device. dev = (255,255).
526 * ctrlparmas = (USB_ENDPOINT_DIR_OUT | USB_REQUEST_TARGET_OTHER, USB_DDK_REQ_GET_CONFIGURATION, 0, 0,
527 * TRANSFER_TIME_OUT).
528 */
529 HWTEST_F(UsbdTransferTestAdditional, testHdiUsbTransferTestControlTransferWrite023, TestSize.Level2)
530 {
531 struct UsbDev dev = {255, 255};
532 std::vector<uint8_t> bufferData(MAX_BUFFER_LENGTH);
533 bufferData.push_back(SAMPLE_DATA_1);
534 bufferData.push_back(SAMPLE_DATA_2);
535 bufferData.push_back(SAMPLE_DATA_3);
536 struct UsbCtrlTransfer ctrlparmas = {USB_ENDPOINT_DIR_OUT | USB_REQUEST_TARGET_OTHER, USB_DDK_REQ_GET_CONFIGURATION,
537 0, 0, TRANSFER_TIME_OUT};
538 auto ret = g_usbInterface->ControlTransferWrite(dev, ctrlparmas, bufferData);
539 ASSERT_NE(ret, 0);
540 }
541
542 /**
543 * @tc.number: SUB_Driver_Usb_TransferTest_ControlTransferWrite_4400
544 * @tc.name: testHdiUsbTransferTestControlTransferWrite024
545 * @tc.desc: Performs control transfer for endpoint 0 of the device. dev = (255,255).
546 * ctrlparmas = (USB_ENDPOINT_DIR_OUT | USB_REQUEST_TARGET_OTHER, USB_DDK_REQ_GET_INTERFACE, 0, 0,
547 * TRANSFER_TIME_OUT).
548 */
549 HWTEST_F(UsbdTransferTestAdditional, testHdiUsbTransferTestControlTransferWrite024, TestSize.Level2)
550 {
551 struct UsbDev dev = {255, 255};
552 std::vector<uint8_t> bufferData(MAX_BUFFER_LENGTH);
553 bufferData.push_back(SAMPLE_DATA_1);
554 bufferData.push_back(SAMPLE_DATA_2);
555 bufferData.push_back(SAMPLE_DATA_3);
556 struct UsbCtrlTransfer ctrlparmas = {USB_ENDPOINT_DIR_OUT | USB_REQUEST_TARGET_OTHER, USB_DDK_REQ_GET_INTERFACE, 0,
557 0, TRANSFER_TIME_OUT};
558 auto ret = g_usbInterface->ControlTransferWrite(dev, ctrlparmas, bufferData);
559 ASSERT_NE(ret, 0);
560 }
561
562 /**
563 * @tc.number: SUB_Driver_Usb_TransferTest_ControlTransferWrite_4500
564 * @tc.name: testHdiUsbTransferTestControlTransferWrite025
565 * @tc.desc: Performs control transfer for endpoint 0 of the device. dev = (255,255).
566 * ctrlparmas = (USB_ENDPOINT_DIR_OUT | USB_REQUEST_TARGET_OTHER, USB_DDK_REQ_SYNCH_FRAME, 0, 0,
567 * TRANSFER_TIME_OUT).
568 */
569 HWTEST_F(UsbdTransferTestAdditional, testHdiUsbTransferTestControlTransferWrite025, TestSize.Level2)
570 {
571 struct UsbDev dev = {255, 255};
572 std::vector<uint8_t> bufferData(MAX_BUFFER_LENGTH);
573 bufferData.push_back(SAMPLE_DATA_1);
574 bufferData.push_back(SAMPLE_DATA_2);
575 bufferData.push_back(SAMPLE_DATA_3);
576 struct UsbCtrlTransfer ctrlparmas = {USB_ENDPOINT_DIR_OUT | USB_REQUEST_TARGET_OTHER, USB_DDK_REQ_SYNCH_FRAME, 0, 0,
577 TRANSFER_TIME_OUT};
578 auto ret = g_usbInterface->ControlTransferWrite(dev, ctrlparmas, bufferData);
579 ASSERT_NE(ret, 0);
580 }
581
582 /**
583 * @tc.number: SUB_Driver_Usb_TransferTest_ControlTransferWrite_4600
584 * @tc.name: testHdiUsbTransferTestControlTransferWrite026
585 * @tc.desc: Performs control transfer for endpoint 0 of the device. dev = (255,255).
586 * ctrlparmas = (USB_ENDPOINT_DIR_OUT | USB_REQUEST_TARGET_DEVICE, 0, 0, 0, TRANSFER_TIME_OUT).
587 */
588 HWTEST_F(UsbdTransferTestAdditional, testHdiUsbTransferTestControlTransferWrite026, TestSize.Level2)
589 {
590 struct UsbDev dev = {255, 255};
591 std::vector<uint8_t> bufferData(MAX_BUFFER_LENGTH);
592 bufferData.push_back(SAMPLE_DATA_1);
593 bufferData.push_back(SAMPLE_DATA_2);
594 bufferData.push_back(SAMPLE_DATA_3);
595 struct UsbCtrlTransfer ctrlparmas = {USB_ENDPOINT_DIR_OUT | USB_REQUEST_TARGET_DEVICE, 0, 0, 0, TRANSFER_TIME_OUT};
596 auto ret = g_usbInterface->ControlTransferWrite(dev, ctrlparmas, bufferData);
597 ASSERT_NE(ret, 0);
598 }
599
600 /**
601 * @tc.number: SUB_Driver_Usb_TransferTest_ControlTransferWrite_4700
602 * @tc.name: testHdiUsbTransferTestControlTransferWrite027
603 * @tc.desc: Performs control transfer for endpoint 0 of the device. dev = (255,255).
604 * ctrlparmas = (USB_ENDPOINT_DIR_OUT | USB_REQUEST_TARGET_DEVICE, USB_DDK_REQ_GET_DESCRIPTOR, 0, 0, TRANSFER_TIME_OUT).
605 */
606 HWTEST_F(UsbdTransferTestAdditional, testHdiUsbTransferTestControlTransferWrite027, TestSize.Level2)
607 {
608 struct UsbDev dev = {255, 255};
609 std::vector<uint8_t> bufferData(MAX_BUFFER_LENGTH);
610 bufferData.push_back(SAMPLE_DATA_1);
611 bufferData.push_back(SAMPLE_DATA_2);
612 bufferData.push_back(SAMPLE_DATA_3);
613 struct UsbCtrlTransfer ctrlparmas = {USB_ENDPOINT_DIR_OUT | USB_REQUEST_TARGET_DEVICE, USB_DDK_REQ_GET_DESCRIPTOR,
614 0, 0, TRANSFER_TIME_OUT};
615 auto ret = g_usbInterface->ControlTransferWrite(dev, ctrlparmas, bufferData);
616 ASSERT_NE(ret, 0);
617 }
618
619 /**
620 * @tc.number: SUB_Driver_Usb_TransferTest_ControlTransferWrite_4800
621 * @tc.name: testHdiUsbTransferTestControlTransferWrite028
622 * @tc.desc: Performs control transfer for endpoint 0 of the device. dev = (255,255).
623 * ctrlparmas = (USB_ENDPOINT_DIR_OUT | USB_REQUEST_TARGET_DEVICE, USB_DDK_REQ_GET_CONFIGURATION, 0, 0,
624 * TRANSFER_TIME_OUT).
625 */
626 HWTEST_F(UsbdTransferTestAdditional, testHdiUsbTransferTestControlTransferWrite028, TestSize.Level2)
627 {
628 struct UsbDev dev = {255, 255};
629 std::vector<uint8_t> bufferData(MAX_BUFFER_LENGTH);
630 bufferData.push_back(SAMPLE_DATA_1);
631 bufferData.push_back(SAMPLE_DATA_2);
632 bufferData.push_back(SAMPLE_DATA_3);
633 struct UsbCtrlTransfer ctrlparmas = {USB_ENDPOINT_DIR_OUT | USB_REQUEST_TARGET_DEVICE,
634 USB_DDK_REQ_GET_CONFIGURATION, 0, 0, TRANSFER_TIME_OUT};
635 auto ret = g_usbInterface->ControlTransferWrite(dev, ctrlparmas, bufferData);
636 ASSERT_NE(ret, 0);
637 }
638
639 /**
640 * @tc.number: SUB_Driver_Usb_TransferTest_ControlTransferWrite_4900
641 * @tc.name: testHdiUsbTransferTestControlTransferWrite029
642 * @tc.desc: Performs control transfer for endpoint 0 of the device. dev = (255,255).
643 * ctrlparmas = (USB_ENDPOINT_DIR_OUT | USB_REQUEST_TARGET_DEVICE, USB_DDK_REQ_GET_INTERFACE, 0, 0,
644 * TRANSFER_TIME_OUT).
645 */
646 HWTEST_F(UsbdTransferTestAdditional, testHdiUsbTransferTestControlTransferWrite029, TestSize.Level2)
647 {
648 struct UsbDev dev = {255, 255};
649 std::vector<uint8_t> bufferData(MAX_BUFFER_LENGTH);
650 bufferData.push_back(SAMPLE_DATA_1);
651 bufferData.push_back(SAMPLE_DATA_2);
652 bufferData.push_back(SAMPLE_DATA_3);
653 struct UsbCtrlTransfer ctrlparmas = {USB_ENDPOINT_DIR_OUT | USB_REQUEST_TARGET_DEVICE, USB_DDK_REQ_GET_INTERFACE, 0,
654 0, TRANSFER_TIME_OUT};
655 auto ret = g_usbInterface->ControlTransferWrite(dev, ctrlparmas, bufferData);
656 ASSERT_NE(ret, 0);
657 }
658
659 /**
660 * @tc.number: SUB_Driver_Usb_TransferTest_ControlTransferWrite_5000
661 * @tc.name: testHdiUsbTransferTestControlTransferWrite030
662 * @tc.desc: Performs control transfer for endpoint 0 of the device. dev = (255,255).
663 * ctrlparmas = (USB_ENDPOINT_DIR_OUT | USB_REQUEST_TARGET_DEVICE, USB_DDK_REQ_SYNCH_FRAME, 0, 0,
664 * TRANSFER_TIME_OUT).
665 */
666 HWTEST_F(UsbdTransferTestAdditional, testHdiUsbTransferTestControlTransferWrite030, TestSize.Level2)
667 {
668 struct UsbDev dev = {255, 255};
669 std::vector<uint8_t> bufferData(MAX_BUFFER_LENGTH);
670 bufferData.push_back(SAMPLE_DATA_1);
671 bufferData.push_back(SAMPLE_DATA_2);
672 bufferData.push_back(SAMPLE_DATA_3);
673 struct UsbCtrlTransfer ctrlparmas = {USB_ENDPOINT_DIR_OUT | USB_REQUEST_TARGET_DEVICE, USB_DDK_REQ_SYNCH_FRAME, 0,
674 0, TRANSFER_TIME_OUT};
675 auto ret = g_usbInterface->ControlTransferWrite(dev, ctrlparmas, bufferData);
676 ASSERT_NE(ret, 0);
677 }
678
679 /**
680 * @tc.number: SUB_Driver_Usb_TransferTest_ControlTransferWrite_5100
681 * @tc.name: testHdiUsbTransferTestControlTransferWrite031
682 * @tc.desc: Performs control transfer for endpoint 0 of the device. dev = (255,255).
683 * ctrlparmas = (USB_ENDPOINT_DIR_OUT | USB_REQUEST_TARGET_DEVICE, 0, CTL_VALUE, 0, TRANSFER_TIME_OUT).
684 */
685 HWTEST_F(UsbdTransferTestAdditional, testHdiUsbTransferTestControlTransferWrite031, TestSize.Level2)
686 {
687 struct UsbDev dev = {255, 255};
688 std::vector<uint8_t> bufferData(MAX_BUFFER_LENGTH);
689 bufferData.push_back(SAMPLE_DATA_1);
690 bufferData.push_back(SAMPLE_DATA_2);
691 bufferData.push_back(SAMPLE_DATA_3);
692 struct UsbCtrlTransfer ctrlparmas = {USB_ENDPOINT_DIR_OUT | USB_REQUEST_TARGET_DEVICE, 0, CTL_VALUE, 0,
693 TRANSFER_TIME_OUT};
694 auto ret = g_usbInterface->ControlTransferWrite(dev, ctrlparmas, bufferData);
695 ASSERT_NE(ret, 0);
696 }
697
698 /**
699 * @tc.number: SUB_Driver_Usb_TransferTest_ControlTransferWrite_5200
700 * @tc.name: testHdiUsbTransferTestControlTransferWrite032
701 * @tc.desc: Performs control transfer for endpoint 0 of the device. dev = (255,255).
702 * ctrlparmas = (USB_ENDPOINT_DIR_OUT | USB_REQUEST_TARGET_DEVICE, USB_DDK_REQ_GET_DESCRIPTOR, CTL_VALUE, 0,
703 * TRANSFER_TIME_OUT).
704 */
705 HWTEST_F(UsbdTransferTestAdditional, testHdiUsbTransferTestControlTransferWrite032, TestSize.Level2)
706 {
707 struct UsbDev dev = {255, 255};
708 std::vector<uint8_t> bufferData(MAX_BUFFER_LENGTH);
709 bufferData.push_back(SAMPLE_DATA_1);
710 bufferData.push_back(SAMPLE_DATA_2);
711 bufferData.push_back(SAMPLE_DATA_3);
712 struct UsbCtrlTransfer ctrlparmas = {USB_ENDPOINT_DIR_OUT | USB_REQUEST_TARGET_DEVICE, USB_DDK_REQ_GET_DESCRIPTOR,
713 CTL_VALUE, 0, TRANSFER_TIME_OUT};
714 auto ret = g_usbInterface->ControlTransferWrite(dev, ctrlparmas, bufferData);
715 ASSERT_NE(ret, 0);
716 }
717
718 /**
719 * @tc.number: SUB_Driver_Usb_TransferTest_ControlTransferWrite_5300
720 * @tc.name: testHdiUsbTransferTestControlTransferWrite033
721 * @tc.desc: Performs control transfer for endpoint 0 of the device. dev = (255,255).
722 * ctrlparmas = (USB_ENDPOINT_DIR_OUT | USB_REQUEST_TARGET_DEVICE, USB_DDK_REQ_GET_CONFIGURATION, CTL_VALUE, 0,
723 * TRANSFER_TIME_OUT).
724 */
725 HWTEST_F(UsbdTransferTestAdditional, testHdiUsbTransferTestControlTransferWrite033, TestSize.Level2)
726 {
727 struct UsbDev dev = {255, 255};
728 std::vector<uint8_t> bufferData(MAX_BUFFER_LENGTH);
729 bufferData.push_back(SAMPLE_DATA_1);
730 bufferData.push_back(SAMPLE_DATA_2);
731 bufferData.push_back(SAMPLE_DATA_3);
732 struct UsbCtrlTransfer ctrlparmas = {USB_ENDPOINT_DIR_OUT | USB_REQUEST_TARGET_DEVICE,
733 USB_DDK_REQ_GET_CONFIGURATION, CTL_VALUE, 0, TRANSFER_TIME_OUT};
734 auto ret = g_usbInterface->ControlTransferWrite(dev, ctrlparmas, bufferData);
735 ASSERT_NE(ret, 0);
736 }
737
738 /**
739 * @tc.number: SUB_Driver_Usb_TransferTest_ControlTransferWrite_5400
740 * @tc.name: testHdiUsbTransferTestControlTransferWrite034
741 * @tc.desc: Performs control transfer for endpoint 0 of the device. dev = (255,255).
742 * ctrlparmas = (USB_ENDPOINT_DIR_OUT | USB_REQUEST_TARGET_DEVICE, USB_DDK_REQ_GET_INTERFACE, CTL_VALUE, 0,
743 * TRANSFER_TIME_OUT).
744 */
745 HWTEST_F(UsbdTransferTestAdditional, testHdiUsbTransferTestControlTransferWrite034, TestSize.Level2)
746 {
747 struct UsbDev dev = {255, 255};
748 std::vector<uint8_t> bufferData(MAX_BUFFER_LENGTH);
749 bufferData.push_back(SAMPLE_DATA_1);
750 bufferData.push_back(SAMPLE_DATA_2);
751 bufferData.push_back(SAMPLE_DATA_3);
752 struct UsbCtrlTransfer ctrlparmas = {USB_ENDPOINT_DIR_OUT | USB_REQUEST_TARGET_DEVICE, USB_DDK_REQ_GET_INTERFACE,
753 CTL_VALUE, 0, TRANSFER_TIME_OUT};
754 auto ret = g_usbInterface->ControlTransferWrite(dev, ctrlparmas, bufferData);
755 ASSERT_NE(ret, 0);
756 }
757
758 /**
759 * @tc.number: SUB_Driver_Usb_TransferTest_ControlTransferWrite_5500
760 * @tc.name: testHdiUsbTransferTestControlTransferWrite035
761 * @tc.desc: Performs control transfer for endpoint 0 of the device. dev = (255,255).
762 * ctrlparmas = (USB_ENDPOINT_DIR_OUT | USB_REQUEST_TARGET_DEVICE, USB_DDK_REQ_SYNCH_FRAME, CTL_VALUE, 0,
763 * TRANSFER_TIME_OUT).
764 */
765 HWTEST_F(UsbdTransferTestAdditional, testHdiUsbTransferTestControlTransferWrite035, TestSize.Level2)
766 {
767 struct UsbDev dev = {255, 255};
768 std::vector<uint8_t> bufferData(MAX_BUFFER_LENGTH);
769 bufferData.push_back(SAMPLE_DATA_1);
770 bufferData.push_back(SAMPLE_DATA_2);
771 bufferData.push_back(SAMPLE_DATA_3);
772 struct UsbCtrlTransfer ctrlparmas = {USB_ENDPOINT_DIR_OUT | USB_REQUEST_TARGET_DEVICE, USB_DDK_REQ_SYNCH_FRAME,
773 CTL_VALUE, 0, TRANSFER_TIME_OUT};
774 auto ret = g_usbInterface->ControlTransferWrite(dev, ctrlparmas, bufferData);
775 ASSERT_NE(ret, 0);
776 }
777
778 /**
779 * @tc.number: SUB_Driver_Usb_TransferTest_ControlTransferWrite_5600
780 * @tc.name: testHdiUsbTransferTestControlTransferWrite036
781 * @tc.desc: Performs control transfer for endpoint 0 of the device. dev = (255,255).
782 * ctrlparmas = (USB_ENDPOINT_DIR_OUT | USB_REQUEST_TARGET_INTERFACE, 0, CTL_VALUE, 0, TRANSFER_TIME_OUT).
783 */
784 HWTEST_F(UsbdTransferTestAdditional, testHdiUsbTransferTestControlTransferWrite036, TestSize.Level2)
785 {
786 struct UsbDev dev = {255, 255};
787 std::vector<uint8_t> bufferData(MAX_BUFFER_LENGTH);
788 bufferData.push_back(SAMPLE_DATA_1);
789 bufferData.push_back(SAMPLE_DATA_2);
790 bufferData.push_back(SAMPLE_DATA_3);
791 struct UsbCtrlTransfer ctrlparmas = {USB_ENDPOINT_DIR_OUT | USB_REQUEST_TARGET_INTERFACE, 0, CTL_VALUE, 0,
792 TRANSFER_TIME_OUT};
793 auto ret = g_usbInterface->ControlTransferWrite(dev, ctrlparmas, bufferData);
794 ASSERT_NE(ret, 0);
795 }
796
797 /**
798 * @tc.number: SUB_Driver_Usb_TransferTest_ControlTransferWrite_5700
799 * @tc.name: testHdiUsbTransferTestControlTransferWrite037
800 * @tc.desc: Performs control transfer for endpoint 0 of the device. dev = (255,255).
801 * ctrlparmas = (USB_ENDPOINT_DIR_OUT | USB_REQUEST_TARGET_INTERFACE, USB_DDK_REQ_GET_DESCRIPTOR, CTL_VALUE, 0,
802 * TRANSFER_TIME_OUT).
803 */
804 HWTEST_F(UsbdTransferTestAdditional, testHdiUsbTransferTestControlTransferWrite037, TestSize.Level2)
805 {
806 struct UsbDev dev = {255, 255};
807 std::vector<uint8_t> bufferData(MAX_BUFFER_LENGTH);
808 bufferData.push_back(SAMPLE_DATA_1);
809 bufferData.push_back(SAMPLE_DATA_2);
810 bufferData.push_back(SAMPLE_DATA_3);
811 struct UsbCtrlTransfer ctrlparmas = {USB_ENDPOINT_DIR_OUT | USB_REQUEST_TARGET_INTERFACE,
812 USB_DDK_REQ_GET_DESCRIPTOR, CTL_VALUE, 0, TRANSFER_TIME_OUT};
813 auto ret = g_usbInterface->ControlTransferWrite(dev, ctrlparmas, bufferData);
814 ASSERT_NE(ret, 0);
815 }
816
817 /**
818 * @tc.number: SUB_Driver_Usb_TransferTest_ControlTransferWrite_5800
819 * @tc.name: testHdiUsbTransferTestControlTransferWrite038
820 * @tc.desc: Performs control transfer for endpoint 0 of the device. dev = (255,255).
821 * ctrlparmas = (USB_ENDPOINT_DIR_OUT | USB_REQUEST_TARGET_INTERFACE, USB_DDK_REQ_GET_CONFIGURATION, CTL_VALUE, 0,
822 * TRANSFER_TIME_OUT).
823 */
824 HWTEST_F(UsbdTransferTestAdditional, testHdiUsbTransferTestControlTransferWrite038, TestSize.Level2)
825 {
826 struct UsbDev dev = {255, 255};
827 std::vector<uint8_t> bufferData(MAX_BUFFER_LENGTH);
828 bufferData.push_back(SAMPLE_DATA_1);
829 bufferData.push_back(SAMPLE_DATA_2);
830 bufferData.push_back(SAMPLE_DATA_3);
831 struct UsbCtrlTransfer ctrlparmas = {USB_ENDPOINT_DIR_OUT | USB_REQUEST_TARGET_INTERFACE,
832 USB_DDK_REQ_GET_CONFIGURATION, CTL_VALUE, 0, TRANSFER_TIME_OUT};
833 auto ret = g_usbInterface->ControlTransferWrite(dev, ctrlparmas, bufferData);
834 ASSERT_NE(ret, 0);
835 }
836
837 /**
838 * @tc.number: SUB_Driver_Usb_TransferTest_ControlTransferWrite_5900
839 * @tc.name: testHdiUsbTransferTestControlTransferWrite039
840 * @tc.desc: Performs control transfer for endpoint 0 of the device. dev = (255,255).
841 * ctrlparmas = (USB_ENDPOINT_DIR_OUT | USB_REQUEST_TARGET_INTERFACE, USB_DDK_REQ_GET_INTERFACE, CTL_VALUE, 0,
842 * TRANSFER_TIME_OUT).
843 */
844 HWTEST_F(UsbdTransferTestAdditional, testHdiUsbTransferTestControlTransferWrite039, TestSize.Level2)
845 {
846 struct UsbDev dev = {255, 255};
847 std::vector<uint8_t> bufferData(MAX_BUFFER_LENGTH);
848 bufferData.push_back(SAMPLE_DATA_1);
849 bufferData.push_back(SAMPLE_DATA_2);
850 bufferData.push_back(SAMPLE_DATA_3);
851 struct UsbCtrlTransfer ctrlparmas = {USB_ENDPOINT_DIR_OUT | USB_REQUEST_TARGET_INTERFACE, USB_DDK_REQ_GET_INTERFACE,
852 CTL_VALUE, 0, TRANSFER_TIME_OUT};
853 auto ret = g_usbInterface->ControlTransferWrite(dev, ctrlparmas, bufferData);
854 ASSERT_NE(ret, 0);
855 }
856
857 /**
858 * @tc.number: SUB_Driver_Usb_TransferTest_ControlTransferWrite_6000
859 * @tc.name: testHdiUsbTransferTestControlTransferWrite040
860 * @tc.desc: Performs control transfer for endpoint 0 of the device. dev = (255,255).
861 * ctrlparmas = (USB_ENDPOINT_DIR_OUT | USB_REQUEST_TARGET_INTERFACE, USB_DDK_REQ_SYNCH_FRAME, CTL_VALUE, 0,
862 * TRANSFER_TIME_OUT).
863 */
864 HWTEST_F(UsbdTransferTestAdditional, testHdiUsbTransferTestControlTransferWrite040, TestSize.Level2)
865 {
866 struct UsbDev dev = {255, 255};
867 std::vector<uint8_t> bufferData(MAX_BUFFER_LENGTH);
868 bufferData.push_back(SAMPLE_DATA_1);
869 bufferData.push_back(SAMPLE_DATA_2);
870 bufferData.push_back(SAMPLE_DATA_3);
871 struct UsbCtrlTransfer ctrlparmas = {USB_ENDPOINT_DIR_OUT | USB_REQUEST_TARGET_INTERFACE, USB_DDK_REQ_SYNCH_FRAME,
872 CTL_VALUE, 0, TRANSFER_TIME_OUT};
873 auto ret = g_usbInterface->ControlTransferWrite(dev, ctrlparmas, bufferData);
874 ASSERT_NE(ret, 0);
875 }
876
877 /**
878 * @tc.number: SUB_Driver_Usb_TransferTest_ControlTransferWrite_6100
879 * @tc.name: testHdiUsbTransferTestControlTransferWrite041
880 * @tc.desc: Performs control transfer for endpoint 0 of the device. dev = (255,255).
881 * ctrlparmas = (USB_ENDPOINT_DIR_OUT | USB_REQUEST_TARGET_ENDPOINT, 0, CTL_VALUE, 0, TRANSFER_TIME_OUT).
882 */
883 HWTEST_F(UsbdTransferTestAdditional, testHdiUsbTransferTestControlTransferWrite041, TestSize.Level2)
884 {
885 struct UsbDev dev = {255, 255};
886 std::vector<uint8_t> bufferData(MAX_BUFFER_LENGTH);
887 bufferData.push_back(SAMPLE_DATA_1);
888 bufferData.push_back(SAMPLE_DATA_2);
889 bufferData.push_back(SAMPLE_DATA_3);
890 struct UsbCtrlTransfer ctrlparmas = {USB_ENDPOINT_DIR_OUT | USB_REQUEST_TARGET_ENDPOINT, 0, CTL_VALUE, 0,
891 TRANSFER_TIME_OUT};
892 auto ret = g_usbInterface->ControlTransferWrite(dev, ctrlparmas, bufferData);
893 ASSERT_NE(ret, 0);
894 }
895
896 /**
897 * @tc.number: SUB_Driver_Usb_TransferTest_ControlTransferWrite_6200
898 * @tc.name: testHdiUsbTransferTestControlTransferWrite042
899 * @tc.desc: Performs control transfer for endpoint 0 of the device. dev = (255,255).
900 * ctrlparmas = (USB_ENDPOINT_DIR_OUT | USB_REQUEST_TARGET_ENDPOINT, USB_DDK_REQ_GET_DESCRIPTOR, CTL_VALUE, 0,
901 * TRANSFER_TIME_OUT).
902 */
903 HWTEST_F(UsbdTransferTestAdditional, testHdiUsbTransferTestControlTransferWrite042, TestSize.Level2)
904 {
905 struct UsbDev dev = {255, 255};
906 std::vector<uint8_t> bufferData(MAX_BUFFER_LENGTH);
907 bufferData.push_back(SAMPLE_DATA_1);
908 bufferData.push_back(SAMPLE_DATA_2);
909 bufferData.push_back(SAMPLE_DATA_3);
910 struct UsbCtrlTransfer ctrlparmas = {USB_ENDPOINT_DIR_OUT | USB_REQUEST_TARGET_ENDPOINT, USB_DDK_REQ_GET_DESCRIPTOR,
911 CTL_VALUE, 0, TRANSFER_TIME_OUT};
912 auto ret = g_usbInterface->ControlTransferWrite(dev, ctrlparmas, bufferData);
913 ASSERT_NE(ret, 0);
914 }
915
916 /**
917 * @tc.number: SUB_Driver_Usb_TransferTest_ControlTransferWrite_6300
918 * @tc.name: testHdiUsbTransferTestControlTransferWrite043
919 * @tc.desc: Performs control transfer for endpoint 0 of the device. dev = (255,255).
920 * ctrlparmas = (USB_ENDPOINT_DIR_OUT | USB_REQUEST_TARGET_ENDPOINT, USB_DDK_REQ_GET_CONFIGURATION, CTL_VALUE, 0,
921 * TRANSFER_TIME_OUT).
922 */
923 HWTEST_F(UsbdTransferTestAdditional, testHdiUsbTransferTestControlTransferWrite043, TestSize.Level2)
924 {
925 struct UsbDev dev = {255, 255};
926 std::vector<uint8_t> bufferData(MAX_BUFFER_LENGTH);
927 bufferData.push_back(SAMPLE_DATA_1);
928 bufferData.push_back(SAMPLE_DATA_2);
929 bufferData.push_back(SAMPLE_DATA_3);
930 struct UsbCtrlTransfer ctrlparmas = {USB_ENDPOINT_DIR_OUT | USB_REQUEST_TARGET_ENDPOINT,
931 USB_DDK_REQ_GET_CONFIGURATION, CTL_VALUE, 0, TRANSFER_TIME_OUT};
932 auto ret = g_usbInterface->ControlTransferWrite(dev, ctrlparmas, bufferData);
933 ASSERT_NE(ret, 0);
934 }
935
936 /**
937 * @tc.number: SUB_Driver_Usb_TransferTest_ControlTransferWrite_6400
938 * @tc.name: testHdiUsbTransferTestControlTransferWrite044
939 * @tc.desc: Performs control transfer for endpoint 0 of the device. dev = (255,255).
940 * ctrlparmas = (USB_ENDPOINT_DIR_OUT | USB_REQUEST_TARGET_ENDPOINT, USB_DDK_REQ_GET_INTERFACE, CTL_VALUE, 0,
941 * TRANSFER_TIME_OUT).
942 */
943 HWTEST_F(UsbdTransferTestAdditional, testHdiUsbTransferTestControlTransferWrite044, TestSize.Level2)
944 {
945 struct UsbDev dev = {255, 255};
946 std::vector<uint8_t> bufferData(MAX_BUFFER_LENGTH);
947 bufferData.push_back(SAMPLE_DATA_1);
948 bufferData.push_back(SAMPLE_DATA_2);
949 bufferData.push_back(SAMPLE_DATA_3);
950 struct UsbCtrlTransfer ctrlparmas = {USB_ENDPOINT_DIR_OUT | USB_REQUEST_TARGET_ENDPOINT, USB_DDK_REQ_GET_INTERFACE,
951 CTL_VALUE, 0, TRANSFER_TIME_OUT};
952 auto ret = g_usbInterface->ControlTransferWrite(dev, ctrlparmas, bufferData);
953 ASSERT_NE(ret, 0);
954 }
955
956 /**
957 * @tc.number: SUB_Driver_Usb_TransferTest_ControlTransferWrite_6500
958 * @tc.name: testHdiUsbTransferTestControlTransferWrite045
959 * @tc.desc: Performs control transfer for endpoint 0 of the device. dev = (255,255).
960 * ctrlparmas = (USB_ENDPOINT_DIR_OUT | USB_REQUEST_TARGET_ENDPOINT, USB_DDK_REQ_SYNCH_FRAME, CTL_VALUE, 0,
961 * TRANSFER_TIME_OUT).
962 */
963 HWTEST_F(UsbdTransferTestAdditional, testHdiUsbTransferTestControlTransferWrite045, TestSize.Level2)
964 {
965 struct UsbDev dev = {255, 255};
966 std::vector<uint8_t> bufferData(MAX_BUFFER_LENGTH);
967 bufferData.push_back(SAMPLE_DATA_1);
968 bufferData.push_back(SAMPLE_DATA_2);
969 bufferData.push_back(SAMPLE_DATA_3);
970 struct UsbCtrlTransfer ctrlparmas = {USB_ENDPOINT_DIR_OUT | USB_REQUEST_TARGET_ENDPOINT, USB_DDK_REQ_SYNCH_FRAME,
971 CTL_VALUE, 0, TRANSFER_TIME_OUT};
972 auto ret = g_usbInterface->ControlTransferWrite(dev, ctrlparmas, bufferData);
973 ASSERT_NE(ret, 0);
974 }
975
976 /**
977 * @tc.number: SUB_Driver_Usb_TransferTest_ControlTransferWrite_6600
978 * @tc.name: testHdiUsbTransferTestControlTransferWrite046
979 * @tc.desc: Performs control transfer for endpoint 0 of the device. dev = (255,255).
980 * ctrlparmas = (USB_ENDPOINT_DIR_OUT | USB_REQUEST_TARGET_OTHER, 0, CTL_VALUE, 0,TRANSFER_TIME_OUT).
981 */
982 HWTEST_F(UsbdTransferTestAdditional, testHdiUsbTransferTestControlTransferWrite046, TestSize.Level2)
983 {
984 struct UsbDev dev = {255, 255};
985 std::vector<uint8_t> bufferData(MAX_BUFFER_LENGTH);
986 bufferData.push_back(SAMPLE_DATA_1);
987 bufferData.push_back(SAMPLE_DATA_2);
988 bufferData.push_back(SAMPLE_DATA_3);
989 struct UsbCtrlTransfer ctrlparmas = {USB_ENDPOINT_DIR_OUT | USB_REQUEST_TARGET_OTHER, 0, CTL_VALUE, 0,
990 TRANSFER_TIME_OUT};
991 auto ret = g_usbInterface->ControlTransferWrite(dev, ctrlparmas, bufferData);
992 ASSERT_NE(ret, 0);
993 }
994
995 /**
996 * @tc.number: SUB_Driver_Usb_TransferTest_ControlTransferWrite_6700
997 * @tc.name: testHdiUsbTransferTestControlTransferWrite047
998 * @tc.desc: Performs control transfer for endpoint 0 of the device. dev = (255,255).
999 * ctrlparmas = (USB_ENDPOINT_DIR_OUT | USB_REQUEST_TARGET_OTHER, USB_DDK_REQ_GET_DESCRIPTOR, CTL_VALUE,
1000 * 0,TRANSFER_TIME_OUT).
1001 */
1002 HWTEST_F(UsbdTransferTestAdditional, testHdiUsbTransferTestControlTransferWrite047, TestSize.Level2)
1003 {
1004 struct UsbDev dev = {255, 255};
1005 std::vector<uint8_t> bufferData(MAX_BUFFER_LENGTH);
1006 bufferData.push_back(SAMPLE_DATA_1);
1007 bufferData.push_back(SAMPLE_DATA_2);
1008 bufferData.push_back(SAMPLE_DATA_3);
1009 struct UsbCtrlTransfer ctrlparmas = {USB_ENDPOINT_DIR_OUT | USB_REQUEST_TARGET_OTHER, USB_DDK_REQ_GET_DESCRIPTOR,
1010 CTL_VALUE, 0, TRANSFER_TIME_OUT};
1011 auto ret = g_usbInterface->ControlTransferWrite(dev, ctrlparmas, bufferData);
1012 ASSERT_NE(ret, 0);
1013 }
1014
1015 /**
1016 * @tc.number: SUB_Driver_Usb_TransferTest_ControlTransferWrite_6800
1017 * @tc.name: testHdiUsbTransferTestControlTransferWrite048
1018 * @tc.desc: Performs control transfer for endpoint 0 of the device. dev = (255,255).
1019 * ctrlparmas = (USB_ENDPOINT_DIR_OUT | USB_REQUEST_TARGET_OTHER, USB_DDK_REQ_GET_CONFIGURATION, CTL_VALUE,
1020 * 0,TRANSFER_TIME_OUT).
1021 */
1022 HWTEST_F(UsbdTransferTestAdditional, testHdiUsbTransferTestControlTransferWrite048, TestSize.Level2)
1023 {
1024 struct UsbDev dev = {255, 255};
1025 std::vector<uint8_t> bufferData(MAX_BUFFER_LENGTH);
1026 bufferData.push_back(SAMPLE_DATA_1);
1027 bufferData.push_back(SAMPLE_DATA_2);
1028 bufferData.push_back(SAMPLE_DATA_3);
1029 struct UsbCtrlTransfer ctrlparmas = {USB_ENDPOINT_DIR_OUT | USB_REQUEST_TARGET_OTHER, USB_DDK_REQ_GET_CONFIGURATION,
1030 CTL_VALUE, 0, TRANSFER_TIME_OUT};
1031 auto ret = g_usbInterface->ControlTransferWrite(dev, ctrlparmas, bufferData);
1032 ASSERT_NE(ret, 0);
1033 }
1034
1035 /**
1036 * @tc.number: SUB_Driver_Usb_TransferTest_ControlTransferWrite_6900
1037 * @tc.name: testHdiUsbTransferTestControlTransferWrite049
1038 * @tc.desc: Performs control transfer for endpoint 0 of the device. dev = (255,255).
1039 * ctrlparmas = (USB_ENDPOINT_DIR_OUT | USB_REQUEST_TARGET_OTHER, USB_DDK_REQ_GET_INTERFACE, CTL_VALUE,
1040 * 0,TRANSFER_TIME_OUT).
1041 */
1042 HWTEST_F(UsbdTransferTestAdditional, testHdiUsbTransferTestControlTransferWrite049, TestSize.Level2)
1043 {
1044 struct UsbDev dev = {255, 255};
1045 std::vector<uint8_t> bufferData(MAX_BUFFER_LENGTH);
1046 bufferData.push_back(SAMPLE_DATA_1);
1047 bufferData.push_back(SAMPLE_DATA_2);
1048 bufferData.push_back(SAMPLE_DATA_3);
1049 struct UsbCtrlTransfer ctrlparmas = {USB_ENDPOINT_DIR_OUT | USB_REQUEST_TARGET_OTHER, USB_DDK_REQ_GET_INTERFACE,
1050 CTL_VALUE, 0, TRANSFER_TIME_OUT};
1051 auto ret = g_usbInterface->ControlTransferWrite(dev, ctrlparmas, bufferData);
1052 ASSERT_NE(ret, 0);
1053 }
1054
1055 /**
1056 * @tc.number: SUB_Driver_Usb_TransferTest_ControlTransferWrite_7000
1057 * @tc.name: testHdiUsbTransferTestControlTransferWrite050
1058 * @tc.desc: Performs control transfer for endpoint 0 of the device. dev = (255,255).
1059 * ctrlparmas = (USB_ENDPOINT_DIR_OUT | USB_REQUEST_TARGET_OTHER, USB_DDK_REQ_SYNCH_FRAME, CTL_VALUE,
1060 * 0,TRANSFER_TIME_OUT).
1061 */
1062 HWTEST_F(UsbdTransferTestAdditional, testHdiUsbTransferTestControlTransferWrite050, TestSize.Level2)
1063 {
1064 struct UsbDev dev = {255, 255};
1065 std::vector<uint8_t> bufferData(MAX_BUFFER_LENGTH);
1066 bufferData.push_back(SAMPLE_DATA_1);
1067 bufferData.push_back(SAMPLE_DATA_2);
1068 bufferData.push_back(SAMPLE_DATA_3);
1069 struct UsbCtrlTransfer ctrlparmas = {USB_ENDPOINT_DIR_OUT | USB_REQUEST_TARGET_OTHER, USB_DDK_REQ_SYNCH_FRAME,
1070 CTL_VALUE, 0, TRANSFER_TIME_OUT};
1071 auto ret = g_usbInterface->ControlTransferWrite(dev, ctrlparmas, bufferData);
1072 ASSERT_NE(ret, 0);
1073 }
1074
1075 /**
1076 * @tc.number: SUB_Driver_Usb_TransferTest_ControlTransferWrite_7100
1077 * @tc.name: testHdiUsbTransferTestControlTransferWrite051
1078 * @tc.desc: Performs control transfer for endpoint 0 of the device. dev = (0,255).
1079 * ctrlparmas = (USB_ENDPOINT_DIR_OUT | USB_REQUEST_TARGET_DEVICE, 0, CTL_VALUE, 0, TRANSFER_TIME_OUT).
1080 */
1081 HWTEST_F(UsbdTransferTestAdditional, testHdiUsbTransferTestControlTransferWrite051, TestSize.Level2)
1082 {
1083 struct UsbDev dev = {0, 255};
1084 std::vector<uint8_t> bufferData(MAX_BUFFER_LENGTH);
1085 bufferData.push_back(SAMPLE_DATA_1);
1086 bufferData.push_back(SAMPLE_DATA_2);
1087 bufferData.push_back(SAMPLE_DATA_3);
1088 struct UsbCtrlTransfer ctrlparmas = {USB_ENDPOINT_DIR_OUT | USB_REQUEST_TARGET_DEVICE, 0, CTL_VALUE, 0,
1089 TRANSFER_TIME_OUT};
1090 auto ret = g_usbInterface->ControlTransferWrite(dev, ctrlparmas, bufferData);
1091 ASSERT_NE(ret, 0);
1092 }
1093
1094 /**
1095 * @tc.number: SUB_Driver_Usb_TransferTest_ControlTransferWrite_7200
1096 * @tc.name: testHdiUsbTransferTestControlTransferWrite052
1097 * @tc.desc: Performs control transfer for endpoint 0 of the device. dev = (0,255).
1098 * ctrlparmas = (USB_ENDPOINT_DIR_OUT | USB_REQUEST_TARGET_DEVICE, USB_DDK_REQ_GET_DESCRIPTOR, CTL_VALUE, 0,
1099 * TRANSFER_TIME_OUT).
1100 */
1101 HWTEST_F(UsbdTransferTestAdditional, testHdiUsbTransferTestControlTransferWrite052, TestSize.Level2)
1102 {
1103 struct UsbDev dev = {0, 255};
1104 std::vector<uint8_t> bufferData(MAX_BUFFER_LENGTH);
1105 bufferData.push_back(SAMPLE_DATA_1);
1106 bufferData.push_back(SAMPLE_DATA_2);
1107 bufferData.push_back(SAMPLE_DATA_3);
1108 struct UsbCtrlTransfer ctrlparmas = {USB_ENDPOINT_DIR_OUT | USB_REQUEST_TARGET_DEVICE, USB_DDK_REQ_GET_DESCRIPTOR,
1109 CTL_VALUE, 0, TRANSFER_TIME_OUT};
1110 auto ret = g_usbInterface->ControlTransferWrite(dev, ctrlparmas, bufferData);
1111 ASSERT_NE(ret, 0);
1112 }
1113
1114 /**
1115 * @tc.number: SUB_Driver_Usb_TransferTest_ControlTransferWrite_7300
1116 * @tc.name: testHdiUsbTransferTestControlTransferWrite053
1117 * @tc.desc: Performs control transfer for endpoint 0 of the device. dev = (0,255).
1118 * ctrlparmas = (USB_ENDPOINT_DIR_OUT | USB_REQUEST_TARGET_DEVICE, USB_DDK_REQ_GET_CONFIGURATION, CTL_VALUE, 0,
1119 * TRANSFER_TIME_OUT).
1120 */
1121 HWTEST_F(UsbdTransferTestAdditional, testHdiUsbTransferTestControlTransferWrite053, TestSize.Level2)
1122 {
1123 struct UsbDev dev = {0, 255};
1124 std::vector<uint8_t> bufferData(MAX_BUFFER_LENGTH);
1125 bufferData.push_back(SAMPLE_DATA_1);
1126 bufferData.push_back(SAMPLE_DATA_2);
1127 bufferData.push_back(SAMPLE_DATA_3);
1128 struct UsbCtrlTransfer ctrlparmas = {USB_ENDPOINT_DIR_OUT | USB_REQUEST_TARGET_DEVICE,
1129 USB_DDK_REQ_GET_CONFIGURATION, CTL_VALUE, 0, TRANSFER_TIME_OUT};
1130 auto ret = g_usbInterface->ControlTransferWrite(dev, ctrlparmas, bufferData);
1131 ASSERT_NE(ret, 0);
1132 }
1133
1134 /**
1135 * @tc.number: SUB_Driver_Usb_TransferTest_ControlTransferWrite_7400
1136 * @tc.name: testHdiUsbTransferTestControlTransferWrite054
1137 * @tc.desc: Performs control transfer for endpoint 0 of the device. dev = (0,255).
1138 * ctrlparmas = (USB_ENDPOINT_DIR_OUT | USB_REQUEST_TARGET_DEVICE, USB_DDK_REQ_GET_INTERFACE, CTL_VALUE, 0,
1139 * TRANSFER_TIME_OUT).
1140 */
1141 HWTEST_F(UsbdTransferTestAdditional, testHdiUsbTransferTestControlTransferWrite054, TestSize.Level2)
1142 {
1143 struct UsbDev dev = {0, 255};
1144 std::vector<uint8_t> bufferData(MAX_BUFFER_LENGTH);
1145 bufferData.push_back(SAMPLE_DATA_1);
1146 bufferData.push_back(SAMPLE_DATA_2);
1147 bufferData.push_back(SAMPLE_DATA_3);
1148 struct UsbCtrlTransfer ctrlparmas = {USB_ENDPOINT_DIR_OUT | USB_REQUEST_TARGET_DEVICE, USB_DDK_REQ_GET_INTERFACE,
1149 CTL_VALUE, 0, TRANSFER_TIME_OUT};
1150 auto ret = g_usbInterface->ControlTransferWrite(dev, ctrlparmas, bufferData);
1151 ASSERT_NE(ret, 0);
1152 }
1153
1154 /**
1155 * @tc.number: SUB_Driver_Usb_TransferTest_ControlTransferWrite_7500
1156 * @tc.name: testHdiUsbTransferTestControlTransferWrite055
1157 * @tc.desc: Performs control transfer for endpoint 0 of the device. dev = (0,255).
1158 * ctrlparmas = (USB_ENDPOINT_DIR_OUT | USB_REQUEST_TARGET_DEVICE, USB_DDK_REQ_SYNCH_FRAME, CTL_VALUE, 0,
1159 * TRANSFER_TIME_OUT).
1160 */
1161 HWTEST_F(UsbdTransferTestAdditional, testHdiUsbTransferTestControlTransferWrite055, TestSize.Level2)
1162 {
1163 struct UsbDev dev = {0, 255};
1164 std::vector<uint8_t> bufferData(MAX_BUFFER_LENGTH);
1165 bufferData.push_back(SAMPLE_DATA_1);
1166 bufferData.push_back(SAMPLE_DATA_2);
1167 bufferData.push_back(SAMPLE_DATA_3);
1168 struct UsbCtrlTransfer ctrlparmas = {USB_ENDPOINT_DIR_OUT | USB_REQUEST_TARGET_DEVICE, USB_DDK_REQ_SYNCH_FRAME,
1169 CTL_VALUE, 0, TRANSFER_TIME_OUT};
1170 auto ret = g_usbInterface->ControlTransferWrite(dev, ctrlparmas, bufferData);
1171 ASSERT_NE(ret, 0);
1172 }
1173
1174 } // namespace
1175