change usbh_control_xfer_subtask to use flat API instead of passing tusb_control_request_t struct

This commit is contained in:
hathach
2013-07-05 13:23:42 +07:00
parent c08c655fd1
commit 374aea7a11
14 changed files with 124 additions and 108 deletions
@@ -70,6 +70,7 @@ void setUp(void)
osal_queue_receive_StubWithCallback(queue_recv_stub);
osal_semaphore_wait_StubWithCallback(semaphore_wait_success_stub);
osal_semaphore_post_IgnoreAndReturn(TUSB_ERROR_NONE);
osal_mutex_wait_StubWithCallback(semaphore_wait_success_stub);
osal_mutex_release_IgnoreAndReturn(TUSB_ERROR_NONE);
hcd_pipe_control_xfer_StubWithCallback(control_xfer_stub);
@@ -160,6 +161,10 @@ tusb_error_t control_xfer_stub(uint8_t dev_addr, const tusb_control_request_t *
return TUSB_ERROR_OSAL_TIMEOUT;
}
usbh_xfer_isr(
(pipe_handle_t) { .dev_addr = (num_call > 1 ? 1 : 0), .xfer_type = TUSB_XFER_CONTROL },
0, TUSB_EVENT_XFER_COMPLETE, 0);
return TUSB_ERROR_NONE;
}
+18 -4
View File
@@ -181,18 +181,32 @@ static void mutex_wait_failed_stub(osal_mutex_handle_t const sem_hdl, uint32_t m
void test_usbh_control_xfer_mutex_failed(void)
{
tusb_control_request_t a_request;
tusb_control_request_t a_request =
{
.bmRequestType = 1,
.bRequest = 2,
.wValue = 3,
.wIndex = 4,
.wLength = 0
};
osal_mutex_wait_StubWithCallback(mutex_wait_failed_stub);
osal_mutex_release_ExpectAndReturn(usbh_devices[dev_addr].control.mutex_hdl, TUSB_ERROR_NONE);
//------------- Code Under Test -------------//
usbh_control_xfer_subtask(dev_addr, &a_request, NULL);
usbh_control_xfer_subtask(dev_addr, 1, 2, 3, 4, 0, NULL);
}
void test_usbh_control_xfer_ok(void)
{
tusb_control_request_t a_request;
tusb_control_request_t a_request =
{
.bmRequestType = 1,
.bRequest = 2,
.wValue = 3,
.wIndex = 4,
.wLength = 0
};
osal_mutex_wait_StubWithCallback(semaphore_wait_success_stub);
@@ -202,5 +216,5 @@ void test_usbh_control_xfer_ok(void)
osal_mutex_release_ExpectAndReturn(usbh_devices[dev_addr].control.mutex_hdl, TUSB_ERROR_NONE);
//------------- Code Under Test -------------//
usbh_control_xfer_subtask(dev_addr, &a_request, NULL);
usbh_control_xfer_subtask(dev_addr, 1, 2, 3, 4, 0, NULL);
}