tests: Add simple interrupt transfer test
authorStanislaw Wadas <s.wadas@samsung.com>
Tue, 6 Oct 2015 10:54:16 +0000 (12:54 +0200)
committerStanislaw Wadas <s.wadas@samsung.com>
Wed, 2 Dec 2015 12:50:46 +0000 (13:50 +0100)
Change-Id: Ife4a5398d5a495adadbb2d0594a524c81fd0eb8a
Signed-off-by: Stanislaw Wadas <s.wadas@samsung.com>
tests/libhusb-test.c
tests/libusb-wrap.c

index 66317f01a9d7dbc84f97969ce9832864fe5c5758..7a4b5a8ac62fe71530867c45ec9620bfcdd4e4a1 100644 (file)
@@ -417,6 +417,33 @@ static void test_bulk_transfer_simple(void **state)
        assert_return_code(ret, 0);
 }
 
+static void test_interrupt_transfer_simple(void **state)
+{
+       uint8_t endpoint;
+       unsigned char *data;
+       int length;
+       int *transfered;
+       unsigned int timeout;
+       int ret;
+       libhusb_device_handle *handle;
+
+       handle = (libhusb_device_handle *)(*state);
+       assert_non_null(handle);
+
+#define EXPECT_VAL(val) expect_value(libusb_interrupt_transfer, val, val);
+       EXPECT_VAL(endpoint);
+       EXPECT_VAL(data);
+       EXPECT_VAL(length);
+       EXPECT_VAL(timeout);
+#undef EXPECT_VAL
+       expect_value(libusb_interrupt_transfer, dev_handle, handle->lusb_dev_handle);
+       will_return(libusb_interrupt_transfer, 0);
+
+       ret =  libhusb_interrupt_transfer(handle, endpoint, data, length, transfered, timeout);
+
+       assert_return_code(ret, 0);
+}
+
 /* Custom macro for defining test with given name and fixed teardown function */
 #define HUSB_TEST(func, setup, teardown) \
        cmocka_unit_test_setup_teardown(func, setup, teardown)
@@ -451,6 +478,7 @@ static struct CMUnitTest tests[] = {
                HUSB_TEST_DEV_HANDLE(test_control_transfer),
                HUSB_TEST_DEV_HANDLE(test_bulk_transfer_simple),
                HUSB_TEST_DEV_HANDLE(test_release_interface_simple),
+               HUSB_TEST_DEV_HANDLE(test_interrupt_transfer_simple),
 };
 
 
index d14bc1bbf4e9562090eaba6349bb4e25066ee315..458f48d13b62819246b1698e5a10c42088702bd2 100644 (file)
@@ -286,3 +286,16 @@ int libusb_bulk_transfer(libusb_device_handle *dev_handle,
 
        return mock_type(int);
 }
+
+int libusb_interrupt_transfer(libusb_device_handle *dev_handle,
+       uint8_t endpoint, unsigned char *data, int length,
+       int *transfered, unsigned int timeout)
+{
+       check_expected(dev_handle);
+       check_expected(endpoint);
+       check_expected(data);
+       check_expected(length);
+       check_expected(timeout);
+
+       return mock_type(int);
+}