diff options
| author | hathach <[email protected]> | 2013-06-27 03:20:14 +0700 |
|---|---|---|
| committer | hathach <[email protected]> | 2013-06-27 03:20:14 +0700 |
| commit | c81c4bb817925f385b45c46857b3f0630edb99ed (patch) | |
| tree | dd5abf6ca10c6f5dd9119ab00c0c3e44d2af2c87 /tests | |
| parent | ea2e63a332a0d46971f32bd84c84851c2246fe8c (diff) | |
add set idle request for hidh_open_subtask
add interface number to hidh_interface_info_t
refractor hidh_open_subtask to be a true subtask
cannot run with set idle code ON because of semaphore misuse
Diffstat (limited to 'tests')
| -rw-r--r-- | tests/test/test/host/hid/test_hid_host.c | 26 | ||||
| -rw-r--r-- | tests/test/test/host/hid/test_hidh_keyboard.c | 20 | ||||
| -rw-r--r-- | tests/test/test/host/hid/test_hidh_mouse.c | 20 |
3 files changed, 53 insertions, 13 deletions
diff --git a/tests/test/test/host/hid/test_hid_host.c b/tests/test/test/host/hid/test_hid_host.c index 19111840e..900319e5e 100644 --- a/tests/test/test/host/hid/test_hid_host.c +++ b/tests/test/test/host/hid/test_hid_host.c @@ -69,19 +69,19 @@ void tearDown(void) { } -void test_hidh_open_ok(void) -{ - uint16_t length=0; - - // TODO expect get HID report descriptor - hcd_pipe_open_IgnoreAndReturn( pipe_hdl ); - - //------------- Code Under TEST -------------// - TEST_ASSERT_EQUAL(TUSB_ERROR_NONE, hidh_open_subtask(dev_addr, p_kbd_interface_desc, &length) ); - - TEST_ASSERT_EQUAL(sizeof(tusb_descriptor_interface_t) + sizeof(tusb_hid_descriptor_hid_t) + sizeof(tusb_descriptor_endpoint_t), - length); -} +//void test_hidh_open_ok(void) +//{ +// uint16_t length=0; +// +// // TODO expect get HID report descriptor +// hcd_pipe_open_IgnoreAndReturn( pipe_hdl ); +// +// //------------- Code Under TEST -------------// +// TEST_ASSERT_EQUAL(TUSB_ERROR_NONE, hidh_open_subtask(dev_addr, p_kbd_interface_desc, &length) ); +// +// TEST_ASSERT_EQUAL(sizeof(tusb_descriptor_interface_t) + sizeof(tusb_hid_descriptor_hid_t) + sizeof(tusb_descriptor_endpoint_t), +// length); +//} void test_hidh_close(void) { diff --git a/tests/test/test/host/hid/test_hidh_keyboard.c b/tests/test/test/host/hid/test_hidh_keyboard.c index 3b0a02d08..62bcc8b45 100644 --- a/tests/test/test/host/hid/test_hidh_keyboard.c +++ b/tests/test/test/host/hid/test_hidh_keyboard.c @@ -118,6 +118,24 @@ void test_keyboard_is_supported_ok(void) TEST_ASSERT_TRUE( tusbh_hid_keyboard_is_mounted(dev_addr) ); } +static tusb_error_t stub_set_idle_request(uint8_t address, tusb_std_request_t const* p_request, uint8_t* data, int num_call) +{ + TEST_ASSERT_EQUAL( dev_addr, address); + + //------------- expecting Set Idle with value = 0 -------------// + TEST_ASSERT_NOT_NULL( p_request ); + TEST_ASSERT_EQUAL(TUSB_DIR_HOST_TO_DEV , p_request->bmRequestType.direction); + TEST_ASSERT_EQUAL(TUSB_REQUEST_TYPE_CLASS , p_request->bmRequestType.type); + TEST_ASSERT_EQUAL(TUSB_REQUEST_RECIPIENT_INTERFACE , p_request->bmRequestType.recipient); + TEST_ASSERT_EQUAL(HID_REQUEST_CONTROL_SET_IDLE , p_request->bRequest); + TEST_ASSERT_EQUAL(0 , p_request->wValue); + TEST_ASSERT_EQUAL(p_kbd_interface_desc->bInterfaceNumber , p_request->wIndex); + + TEST_ASSERT_NULL(data); + + return TUSB_ERROR_NONE; +} + void test_keyboard_open_ok(void) { uint16_t length=0; @@ -125,6 +143,7 @@ void test_keyboard_open_ok(void) hidh_init(); + usbh_control_xfer_subtask_StubWithCallback(stub_set_idle_request); hcd_pipe_open_ExpectAndReturn(dev_addr, p_kdb_endpoint_desc, TUSB_CLASS_HID, pipe_hdl); tusbh_hid_keyboard_isr_Expect(dev_addr, TUSB_EVENT_INTERFACE_OPEN); @@ -135,6 +154,7 @@ void test_keyboard_open_ok(void) TEST_ASSERT_EQUAL(8, p_hidh_kbd->report_size); TEST_ASSERT_EQUAL(sizeof(tusb_descriptor_interface_t) + sizeof(tusb_hid_descriptor_hid_t) + sizeof(tusb_descriptor_endpoint_t), length); + TEST_ASSERT_EQUAL(p_kbd_interface_desc->bInterfaceNumber, p_hidh_kbd->interface_number); tusbh_device_get_state_IgnoreAndReturn(TUSB_DEVICE_STATE_CONFIGURED); TEST_ASSERT_TRUE( tusbh_hid_keyboard_is_mounted(dev_addr) ); diff --git a/tests/test/test/host/hid/test_hidh_mouse.c b/tests/test/test/host/hid/test_hidh_mouse.c index 16c70b269..0156f5a58 100644 --- a/tests/test/test/host/hid/test_hidh_mouse.c +++ b/tests/test/test/host/hid/test_hidh_mouse.c @@ -107,6 +107,24 @@ void test_mouse_is_supported_ok(void) TEST_ASSERT_TRUE( tusbh_hid_mouse_is_mounted(dev_addr) ); } +static tusb_error_t stub_set_idle_request(uint8_t address, tusb_std_request_t const* p_request, uint8_t* data, int num_call) +{ + TEST_ASSERT_EQUAL( dev_addr, address); + + //------------- expecting Set Idle with value = 0 -------------// + TEST_ASSERT_NOT_NULL( p_request ); + TEST_ASSERT_EQUAL(TUSB_DIR_HOST_TO_DEV , p_request->bmRequestType.direction); + TEST_ASSERT_EQUAL(TUSB_REQUEST_TYPE_CLASS , p_request->bmRequestType.type); + TEST_ASSERT_EQUAL(TUSB_REQUEST_RECIPIENT_INTERFACE , p_request->bmRequestType.recipient); + TEST_ASSERT_EQUAL(HID_REQUEST_CONTROL_SET_IDLE , p_request->bRequest); + TEST_ASSERT_EQUAL(0 , p_request->wValue); + TEST_ASSERT_EQUAL(p_mouse_interface_desc->bInterfaceNumber , p_request->wIndex); + + TEST_ASSERT_NULL(data); + + return TUSB_ERROR_NONE; +} + void test_mouse_open_ok(void) { uint16_t length=0; @@ -114,6 +132,7 @@ void test_mouse_open_ok(void) hidh_init(); + usbh_control_xfer_subtask_StubWithCallback(stub_set_idle_request); hcd_pipe_open_ExpectAndReturn(dev_addr, p_mouse_endpoint_desc, TUSB_CLASS_HID, pipe_hdl); tusbh_hid_mouse_isr_Expect(dev_addr, TUSB_EVENT_INTERFACE_OPEN); @@ -124,6 +143,7 @@ void test_mouse_open_ok(void) TEST_ASSERT_EQUAL(8, p_hidh_mouse->report_size); TEST_ASSERT_EQUAL(sizeof(tusb_descriptor_interface_t) + sizeof(tusb_hid_descriptor_hid_t) + sizeof(tusb_descriptor_endpoint_t), length); + TEST_ASSERT_EQUAL(p_mouse_interface_desc->bInterfaceNumber, p_hidh_mouse->interface_number); tusbh_device_get_state_IgnoreAndReturn(TUSB_DEVICE_STATE_CONFIGURED); TEST_ASSERT_TRUE( tusbh_hid_mouse_is_mounted(dev_addr) ); |
