• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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