summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorhathach <[email protected]>2013-05-09 13:48:11 +0700
committerhathach <[email protected]>2013-05-09 13:48:11 +0700
commit327519a5a602eb6cd99fc3d6fc52a7a98c2c552c (patch)
treefcd120d13e09da30d78d13477bc7f2c1bdd2e79a /tests
parente401372c051e2ce3761daaf18deb4df39797fff4 (diff)
refractor test
try to add travis-ci
Diffstat (limited to 'tests')
-rw-r--r--tests/test/host/ehci/test_ehci_init.c133
1 files changed, 62 insertions, 71 deletions
diff --git a/tests/test/host/ehci/test_ehci_init.c b/tests/test/host/ehci/test_ehci_init.c
index 0026b1479..da4c6d3c9 100644
--- a/tests/test/host/ehci/test_ehci_init.c
+++ b/tests/test/host/ehci/test_ehci_init.c
@@ -51,6 +51,9 @@
usbh_device_info_t usbh_devices[TUSB_CFG_HOST_DEVICE_MAX+1];
+uint8_t dev_addr;
+uint8_t hostid;
+
//--------------------------------------------------------------------+
// Setup/Teardown + helper declare
//--------------------------------------------------------------------+
@@ -58,6 +61,16 @@ void setUp(void)
{
ehci_controller_init();
hcd_init();
+
+ dev_addr = 1;
+ hostid = RANDOM(CONTROLLER_HOST_NUMBER) + TEST_CONTROLLER_HOST_START_INDEX;
+ for (uint8_t i=0; i<TUSB_CFG_HOST_DEVICE_MAX+1; i++)
+ {
+ usbh_devices[i].core_id = hostid;
+ usbh_devices[i].hub_addr = 0;
+ usbh_devices[i].hub_port = 0;
+ usbh_devices[i].speed = TUSB_SPEED_HIGH;
+ }
}
void tearDown(void)
@@ -76,45 +89,37 @@ void test_hcd_init_data(void)
void test_hcd_init_usbint(void)
{
- for(uint32_t i=0; i<CONTROLLER_HOST_NUMBER; i++)
- {
- ehci_registers_t* const regs = get_operational_register(i+TEST_CONTROLLER_HOST_START_INDEX);
+ ehci_registers_t* const regs = get_operational_register(hostid);
- //------------- USB INT Enable-------------//
- TEST_ASSERT(regs->usb_int_enable_bit.usb_error);
- TEST_ASSERT(regs->usb_int_enable_bit.port_change_detect);
- TEST_ASSERT(regs->usb_int_enable_bit.async_advance);
+ //------------- USB INT Enable-------------//
+ TEST_ASSERT(regs->usb_int_enable_bit.usb_error);
+ TEST_ASSERT(regs->usb_int_enable_bit.port_change_detect);
+ TEST_ASSERT(regs->usb_int_enable_bit.async_advance);
- TEST_ASSERT_FALSE(regs->usb_int_enable_bit.framelist_rollover);
- TEST_ASSERT_FALSE(regs->usb_int_enable_bit.pci_host_system_error);
+ TEST_ASSERT_FALSE(regs->usb_int_enable_bit.framelist_rollover);
+ TEST_ASSERT_FALSE(regs->usb_int_enable_bit.pci_host_system_error);
- TEST_ASSERT_FALSE(regs->usb_int_enable_bit.nxp_int_sof);
- TEST_ASSERT_FALSE(regs->usb_int_enable_bit.usb);
- TEST_ASSERT_TRUE(regs->usb_int_enable_bit.nxp_int_async);
- TEST_ASSERT_TRUE(regs->usb_int_enable_bit.nxp_int_period);
+ TEST_ASSERT_FALSE(regs->usb_int_enable_bit.nxp_int_sof);
+ TEST_ASSERT_FALSE(regs->usb_int_enable_bit.usb);
+ TEST_ASSERT_TRUE(regs->usb_int_enable_bit.nxp_int_async);
+ TEST_ASSERT_TRUE(regs->usb_int_enable_bit.nxp_int_period);
- // TODO to be portable use usbint instead of nxp int async/period
- }
+ // TODO to be portable use usbint instead of nxp int async/period
}
void test_hcd_init_async_list(void)
{
- for(uint32_t i=0; i<CONTROLLER_HOST_NUMBER; i++)
- {
- uint8_t hostid = i+TEST_CONTROLLER_HOST_START_INDEX;
+ ehci_registers_t * const regs = get_operational_register(hostid);
+ ehci_qhd_t * const async_head = get_async_head(hostid);
- ehci_registers_t * const regs = get_operational_register(hostid);
- ehci_qhd_t * const async_head = get_async_head(hostid);
+ TEST_ASSERT_EQUAL_HEX(async_head, regs->async_list_base);
- TEST_ASSERT_EQUAL_HEX(async_head, regs->async_list_base);
+ TEST_ASSERT_EQUAL_HEX(async_head, align32( (uint32_t) async_head) );
+ TEST_ASSERT_EQUAL(EHCI_QUEUE_ELEMENT_QHD, async_head->next.type);
+ TEST_ASSERT_FALSE(async_head->next.terminate);
- TEST_ASSERT_EQUAL_HEX(async_head, align32( (uint32_t) async_head) );
- TEST_ASSERT_EQUAL(EHCI_QUEUE_ELEMENT_QHD, async_head->next.type);
- TEST_ASSERT_FALSE(async_head->next.terminate);
-
- TEST_ASSERT(async_head->head_list_flag);
- TEST_ASSERT(async_head->qtd_overlay.halted);
- }
+ TEST_ASSERT(async_head->head_list_flag);
+ TEST_ASSERT(async_head->qtd_overlay.halted);
}
void check_qhd_endpoint_link(ehci_link_t *p_prev, ehci_qhd_t *p_qhd)
@@ -128,70 +133,56 @@ void check_qhd_endpoint_link(ehci_link_t *p_prev, ehci_qhd_t *p_qhd)
void test_hcd_init_period_list(void)
{
#if EHCI_PERIODIC_LIST
- for(uint32_t i=0; i<CONTROLLER_HOST_NUMBER; i++)
- {
- uint8_t const hostid = i+TEST_CONTROLLER_HOST_START_INDEX;
- ehci_registers_t* const regs = get_operational_register(hostid);
- ehci_qhd_t * const period_head_arr = get_period_head(hostid, 1);
- ehci_link_t * const framelist = get_period_frame_list(hostid);
-
- TEST_ASSERT_EQUAL_HEX( (uint32_t) framelist, regs->periodic_list_base);
+ ehci_registers_t* const regs = get_operational_register(hostid);
+ ehci_qhd_t * const period_head_arr = get_period_head(hostid, 1);
+ ehci_link_t * const framelist = get_period_frame_list(hostid);
- check_qhd_endpoint_link( framelist+0, period_head_arr+1);
- check_qhd_endpoint_link( framelist+2, period_head_arr+1);
- check_qhd_endpoint_link( framelist+4, period_head_arr+1);
- check_qhd_endpoint_link( framelist+6, period_head_arr+1);
+ TEST_ASSERT_EQUAL_HEX( (uint32_t) framelist, regs->periodic_list_base);
- check_qhd_endpoint_link( framelist+1, period_head_arr+2);
- check_qhd_endpoint_link( framelist+5, period_head_arr+2);
+ check_qhd_endpoint_link( framelist+0, period_head_arr+1);
+ check_qhd_endpoint_link( framelist+2, period_head_arr+1);
+ check_qhd_endpoint_link( framelist+4, period_head_arr+1);
+ check_qhd_endpoint_link( framelist+6, period_head_arr+1);
- check_qhd_endpoint_link( framelist+3, period_head_arr+3);
- check_qhd_endpoint_link( framelist+7, period_head_arr);
- check_qhd_endpoint_link( (ehci_link_t*) (period_head_arr+1), period_head_arr);
- check_qhd_endpoint_link( (ehci_link_t*) (period_head_arr+2), period_head_arr);
- check_qhd_endpoint_link( (ehci_link_t*) (period_head_arr+3), period_head_arr);
+ check_qhd_endpoint_link( framelist+1, period_head_arr+2);
+ check_qhd_endpoint_link( framelist+5, period_head_arr+2);
- for(uint32_t i=0; i<4; i++)
- {
- TEST_ASSERT(period_head_arr[i].interrupt_smask);
- TEST_ASSERT(period_head_arr[i].qtd_overlay.halted);
- }
+ check_qhd_endpoint_link( framelist+3, period_head_arr+3);
+ check_qhd_endpoint_link( framelist+7, period_head_arr);
+ check_qhd_endpoint_link( (ehci_link_t*) (period_head_arr+1), period_head_arr);
+ check_qhd_endpoint_link( (ehci_link_t*) (period_head_arr+2), period_head_arr);
+ check_qhd_endpoint_link( (ehci_link_t*) (period_head_arr+3), period_head_arr);
- TEST_ASSERT_TRUE(period_head_arr[0].next.terminate);
+ for(uint32_t i=0; i<4; i++)
+ {
+ TEST_ASSERT(period_head_arr[i].interrupt_smask);
+ TEST_ASSERT(period_head_arr[i].qtd_overlay.halted);
}
+
+ TEST_ASSERT_TRUE(period_head_arr[0].next.terminate);
#endif
}
void test_hcd_init_tt_control(void)
{
- for(uint32_t i=0; i<CONTROLLER_HOST_NUMBER; i++)
- {
- uint8_t const hostid = i+TEST_CONTROLLER_HOST_START_INDEX;
- ehci_registers_t* const regs = get_operational_register(hostid);
-
- TEST_ASSERT_EQUAL(0, regs->tt_control);
- }
+ ehci_registers_t* const regs = get_operational_register(hostid);
}
void test_hcd_init_usbcmd(void)
{
- for(uint32_t i=0; i<CONTROLLER_HOST_NUMBER; i++)
- {
- uint8_t const hostid = i+TEST_CONTROLLER_HOST_START_INDEX;
- ehci_registers_t* const regs = get_operational_register(hostid);
+ ehci_registers_t* const regs = get_operational_register(hostid);
- TEST_ASSERT(regs->usb_cmd_bit.async_enable);
+ TEST_ASSERT(regs->usb_cmd_bit.async_enable);
#if EHCI_PERIODIC_LIST
- TEST_ASSERT(regs->usb_cmd_bit.periodic_enable);
+ TEST_ASSERT(regs->usb_cmd_bit.periodic_enable);
#else
- TEST_ASSERT_FALSE(regs->usb_cmd_bit.periodic_enable);
+ TEST_ASSERT_FALSE(regs->usb_cmd_bit.periodic_enable);
#endif
- //------------- Framelist size (NXP specific) -------------//
- TEST_ASSERT_BITS(BIN8(11), EHCI_CFG_FRAMELIST_SIZE_BITS, regs->usb_cmd_bit.framelist_size);
- TEST_ASSERT_EQUAL(EHCI_CFG_FRAMELIST_SIZE_BITS >> 2, regs->usb_cmd_bit.nxp_framelist_size_msb);
- }
+ //------------- Framelist size (NXP specific) -------------//
+ TEST_ASSERT_BITS(BIN8(11), EHCI_CFG_FRAMELIST_SIZE_BITS, regs->usb_cmd_bit.framelist_size);
+ TEST_ASSERT_EQUAL(EHCI_CFG_FRAMELIST_SIZE_BITS >> 2, regs->usb_cmd_bit.nxp_framelist_size_msb);
}
void test_hcd_init_portsc(void)