- add test code for bulk xfer isr

- fix mismatch type func return
This commit is contained in:
hathach 2013-03-10 19:28:38 +07:00
parent 0e845947ce
commit 3b0b48e01a
2 changed files with 32 additions and 8 deletions

View File

@ -46,6 +46,7 @@
#include "mock_usbh_hcd.h" #include "mock_usbh_hcd.h"
#include "ehci.h" #include "ehci.h"
#include "test_ehci.h" #include "test_ehci.h"
#include "ehci_controller.h"
extern ehci_data_t ehci_data; extern ehci_data_t ehci_data;
usbh_device_info_t usbh_device_info_pool[TUSB_CFG_HOST_DEVICE_MAX+1]; usbh_device_info_t usbh_device_info_pool[TUSB_CFG_HOST_DEVICE_MAX+1];
@ -166,7 +167,7 @@ void test_bulk_xfer_double(void)
hcd_pipe_xfer(pipe_hdl_bulk, data2, sizeof(data2), true); hcd_pipe_xfer(pipe_hdl_bulk, data2, sizeof(data2), true);
ehci_qtd_t* p_head = p_qhd_bulk->p_qtd_list_head; ehci_qtd_t* p_head = p_qhd_bulk->p_qtd_list_head;
ehci_qtd_t* p_tail = p_qhd_bulk->p_qtd_list_head; ehci_qtd_t* p_tail = p_qhd_bulk->p_qtd_list_tail;
//------------- list head -------------// //------------- list head -------------//
TEST_ASSERT_NOT_NULL(p_head); TEST_ASSERT_NOT_NULL(p_head);
@ -177,9 +178,32 @@ void test_bulk_xfer_double(void)
TEST_ASSERT_FALSE(p_head->int_on_complete); TEST_ASSERT_FALSE(p_head->int_on_complete);
//------------- list tail -------------// //------------- list tail -------------//
TEST_ASSERT_NOT_NULL(p_tail);
verify_qtd(p_tail, data2, sizeof(data2));
TEST_ASSERT_EQUAL_HEX( align32(p_head->next.address), p_tail);
TEST_ASSERT_EQUAL(EHCI_PID_IN, p_tail->pid);
TEST_ASSERT_TRUE(p_tail->next.terminate);
TEST_ASSERT_TRUE(p_tail->int_on_complete);
} }
//void test_bulk_xfer_isr(void) void test_bulk_xfer_isr(void)
//{ {
// hcd_pipe_xfer(pipe_hdl_bulk, xfer_data, sizeof(xfer_data), false);
//} hcd_pipe_xfer(pipe_hdl_bulk, data2, sizeof(data2), true);
ehci_qtd_t* p_head = p_qhd_bulk->p_qtd_list_head;
ehci_qtd_t* p_tail = p_qhd_bulk->p_qtd_list_tail;
ehci_controller_run(hostid);
usbh_isr_Expect(pipe_hdl_bulk, TUSB_CLASS_MSC);
//------------- Code Under Test -------------//
hcd_isr(hostid);
TEST_ASSERT_TRUE(p_qhd_bulk->qtd_overlay.next.terminate);
TEST_ASSERT_FALSE(p_head->used);
TEST_ASSERT_FALSE(p_tail->used);
TEST_ASSERT_NULL(p_qhd_bulk->p_qtd_list_head);
TEST_ASSERT_NULL(p_qhd_bulk->p_qtd_list_tail);
}

View File

@ -106,7 +106,7 @@ void test_queue_send(void)
//--------------------------------------------------------------------+ //--------------------------------------------------------------------+
// TASK SEMAPHORE // TASK SEMAPHORE
//--------------------------------------------------------------------+ //--------------------------------------------------------------------+
void sample_task_semaphore(void) tusb_error_t sample_task_semaphore(void)
{ {
tusb_error_t error = TUSB_ERROR_NONE; tusb_error_t error = TUSB_ERROR_NONE;
@ -165,7 +165,7 @@ void test_task_with_semaphore(void)
//--------------------------------------------------------------------+ //--------------------------------------------------------------------+
// TASK SEMAPHORE // TASK SEMAPHORE
//--------------------------------------------------------------------+ //--------------------------------------------------------------------+
void sample_task_with_queue(void) tusb_error_t sample_task_with_queue(void)
{ {
uint32_t data; uint32_t data;
tusb_error_t error; tusb_error_t error;
@ -237,7 +237,7 @@ void flow_control_error_handler(void)
statements[5]++; statements[5]++;
} }
void sample_task_flow_control(void) tusb_error_t sample_task_flow_control(void)
{ {
tusb_error_t error; tusb_error_t error;