summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorhathach <[email protected]>2013-06-27 03:20:14 +0700
committerhathach <[email protected]>2013-06-27 03:20:14 +0700
commitc81c4bb817925f385b45c46857b3f0630edb99ed (patch)
treedd5abf6ca10c6f5dd9119ab00c0c3e44d2af2c87 /tests
parentea2e63a332a0d46971f32bd84c84851c2246fe8c (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.c26
-rw-r--r--tests/test/test/host/hid/test_hidh_keyboard.c20
-rw-r--r--tests/test/test/host/hid/test_hidh_mouse.c20
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) );