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

index 06ac35b2bb3c9bb162663b9a54207ca78ce4495b..b3e26ef2f6f4b53163cf21316eee91d4bd21656b 100644 (file)
@@ -372,6 +372,33 @@ static void test_control_transfer(void **state)
        assert_return_code(ret, 0);
 }
 
+static void test_bulk_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_bulk_transfer, val, val);
+       EXPECT_VAL(endpoint);
+       EXPECT_VAL(data);
+       EXPECT_VAL(length);
+       EXPECT_VAL(timeout);
+#undef EXPECT_VAL
+       expect_value(libusb_bulk_transfer, dev_handle, handle->lusb_dev_handle);
+       will_return(libusb_bulk_transfer, 0);
+
+       ret =  libhusb_bulk_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)
@@ -404,6 +431,7 @@ static struct CMUnitTest tests[] = {
                HUSB_TEST_DEV_HANDLE(test_set_config),
                HUSB_TEST_DEV_HANDLE(test_claim_interface_simple),
                HUSB_TEST_DEV_HANDLE(test_control_transfer),
+               HUSB_TEST_DEV_HANDLE(test_bulk_transfer_simple),
 };
 
 
index a26271628121e3e91d3969027513b5b58ef1f8d1..8c258b981c3bbfffee9b7177030dd1f8e7556564 100644 (file)
@@ -271,3 +271,16 @@ int libusb_control_transfer(libusb_device_handle *dev_handle,
 
        return mock_type(int);
 }
+
+int libusb_bulk_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);
+}