change cmock ignore to args only

implementing usbh_host.c
This commit is contained in:
hathach
2013-01-31 13:11:50 +07:00
parent bef17fb67f
commit 1b963f6a71
9 changed files with 58 additions and 19 deletions

View File

@@ -101,9 +101,10 @@ void test_keyboard_no_instances_invalid_para(void)
void test_keyboard_install_ok(void)
{
tusbh_device_status_get_IgnoreAndReturn(TUSB_DEVICE_STATUS_READY);
TEST_ASSERT_EQUAL(0, tusbh_hid_keyboard_no_instances(device_hdl));
TEST_ASSERT_EQUAL(TUSB_ERROR_NONE, class_hid_keyboard_install(device_hdl, (uint8_t*) &kbd_descriptor));
tusbh_device_status_get_IgnoreAndReturn(TUSB_DEVICE_STATUS_READY);
TEST_ASSERT_EQUAL(1, tusbh_hid_keyboard_no_instances(device_hdl));
}
@@ -154,6 +155,8 @@ void test_keyboard_get_invalid_para()
tusbh_device_status_get_IgnoreAndReturn(0);
TEST_ASSERT_EQUAL(TUSB_ERROR_DEVICE_NOT_READY, tusbh_hid_keyboard_get(TUSB_CFG_HOST_DEVICE_MAX, 0, &report));
tusbh_device_status_get_IgnoreAndReturn(0);
TEST_ASSERT_EQUAL(TUSB_ERROR_DEVICE_NOT_READY, tusbh_hid_keyboard_get(0, TUSB_CFG_HOST_HID_KEYBOARD_NO_INSTANCES_PER_DEVICE, &report));
}
@@ -167,25 +170,28 @@ void test_keyboard_get_class_not_supported()
void test_keyboard_get_report_not_available()
{
tusbh_device_status_get_IgnoreAndReturn(TUSB_DEVICE_STATUS_READY);
usbh_pipe_status_get_IgnoreAndReturn(PIPE_STATUS_BUSY);
TEST_ASSERT_EQUAL(TUSB_ERROR_CLASS_DATA_NOT_AVAILABLE, tusbh_hid_keyboard_get(device_hdl, instance_num, &report));
tusbh_device_status_get_IgnoreAndReturn(TUSB_DEVICE_STATUS_READY);
usbh_pipe_status_get_IgnoreAndReturn(PIPE_STATUS_AVAILABLE);
TEST_ASSERT_EQUAL(TUSB_ERROR_CLASS_DATA_NOT_AVAILABLE, tusbh_hid_keyboard_get(device_hdl, instance_num, &report));
}
void test_keyboard_get_ok()
{
tusbh_device_status_get_IgnoreAndReturn(TUSB_DEVICE_STATUS_READY);
usbh_pipe_status_get_StubWithCallback(pipe_status_get_stub);
tusbh_device_status_get_IgnoreAndReturn(TUSB_DEVICE_STATUS_READY);
TEST_ASSERT_EQUAL(TUSB_ERROR_NONE, tusbh_hid_keyboard_get(device_hdl, instance_num, &report));
TEST_ASSERT_EQUAL_MEMORY(&sample_key[0], &report, sizeof(tusb_keyboard_report_t));
tusbh_device_status_get_IgnoreAndReturn(TUSB_DEVICE_STATUS_READY);
TEST_ASSERT_EQUAL(TUSB_ERROR_CLASS_DATA_NOT_AVAILABLE, tusbh_hid_keyboard_get(device_hdl, instance_num, &report));
tusbh_device_status_get_IgnoreAndReturn(TUSB_DEVICE_STATUS_READY);
TEST_ASSERT_EQUAL(TUSB_ERROR_CLASS_DATA_NOT_AVAILABLE, tusbh_hid_keyboard_get(device_hdl, instance_num, &report));
tusbh_device_status_get_IgnoreAndReturn(TUSB_DEVICE_STATUS_READY);
TEST_ASSERT_EQUAL(TUSB_ERROR_NONE, tusbh_hid_keyboard_get(device_hdl, instance_num, &report));
TEST_ASSERT_EQUAL_MEMORY(&sample_key[1], &report, sizeof(tusb_keyboard_report_t));
}

View File

@@ -36,6 +36,7 @@
*/
#include "unity.h"
#include "errors.h"
#include "usbd_host.h"
#include "mock_osal.h"
@@ -54,27 +55,38 @@ void tearDown(void)
//--------------------------------------------------------------------+
// init, get_status
//--------------------------------------------------------------------+
void test_usbh_init_task_create_failed(void)
{
osal_task_create_IgnoreAndReturn(TUSB_ERROR_OSAL_TASK_FAILED);
TEST_ASSERT_EQUAL(TUSB_ERROR_OSAL_TASK_FAILED, usbh_init());
}
void test_usbh_init_queue_create_failed(void)
{
osal_task_create_IgnoreAndReturn(TUSB_ERROR_NONE);
osal_queue_create_IgnoreAndReturn(NULL);
TEST_ASSERT_EQUAL(TUSB_ERROR_OSAL_QUEUE_FAILED, usbh_init());
}
void test_usbh_init_checkmem(void)
{
uint32_t dummy;
usbh_device_info_t device_info_zero[TUSB_CFG_HOST_DEVICE_MAX];
memset(device_info_zero, 0, sizeof(usbh_device_info_t)*TUSB_CFG_HOST_DEVICE_MAX);
osal_queue_create_IgnoreAndReturn(TUSB_ERROR_NONE);
osal_task_create_IgnoreAndReturn(TUSB_ERROR_NONE);
osal_queue_create_IgnoreAndReturn((osal_queue_handle_t)(&dummy));
TEST_ASSERT_EQUAL(TUSB_ERROR_NONE, usbh_init());
TEST_ASSERT_EQUAL_MEMORY(device_info_zero, device_info_pool, sizeof(usbh_device_info_t)*TUSB_CFG_HOST_DEVICE_MAX);
}
void test_usbh_init_queue_create_fail(void)
{
TEST_IGNORE();
osal_queue_create_IgnoreAndReturn(TUSB_ERROR_OSAL_QUEUE_FAILED);
TEST_ASSERT_EQUAL(TUSB_ERROR_OSAL_QUEUE_FAILED, usbh_init());
TEST_ASSERT_EQUAL_MEMORY(device_info_zero, device_info_pool, sizeof(usbh_device_info_t)*TUSB_CFG_HOST_DEVICE_MAX);
}
void test_usbh_status_get_fail(void)
{
usbh_init();
device_info_pool[dev_hdl].status = 0;
TEST_ASSERT_EQUAL( 0, tusbh_device_status_get(TUSB_CFG_HOST_DEVICE_MAX) );
TEST_ASSERT_EQUAL( TUSB_DEVICE_STATUS_UNPLUG, tusbh_device_status_get(dev_hdl) );
}