tests: add libhusb_get_string_descriptor_ascii test
authorMichal Bloch <m.bloch@samsung.com>
Thu, 22 Oct 2015 10:49:17 +0000 (12:49 +0200)
committerStanislaw Wadas <s.wadas@samsung.com>
Wed, 2 Dec 2015 12:50:46 +0000 (13:50 +0100)
Change-Id: Iacffc303ea24b1b5de528a556fb9a9f718a46687
Signed-off-by: Michal Bloch <m.bloch@samsung.com>
tests/libhusb-test.c
tests/libusb-wrap.c

index 231e6fc1d24a33483bedcff19555559475b0f07a..a7dc657bfbb853289188b878b6dd238a3d4a0654 100644 (file)
@@ -571,6 +571,29 @@ static void test_interrupt_transfer_simple(void **state)
        assert_return_code(ret, 0);
 }
 
+static void test_get_string_descriptor_ascii(void **state)
+{
+       libhusb_device_handle *handle;
+       uint8_t desc_index;
+       unsigned char data [16];
+       int length, ret;
+       const char * testString = "TestString";
+
+       handle = (libhusb_device_handle *)(*state);
+       assert_non_null(handle);
+
+       expect_value(libusb_get_string_descriptor_ascii, dev, handle->lusb_dev_handle);
+       expect_value(libusb_get_string_descriptor_ascii, desc_index, desc_index);
+       expect_value(libusb_get_string_descriptor_ascii, length, length);
+       will_return(libusb_get_string_descriptor_ascii, cast_ptr_to_largest_integral_type(testString));
+       will_return(libusb_get_string_descriptor_ascii, 0);
+
+       ret = libhusb_get_string_descriptor_ascii(handle, desc_index, data, length);
+
+       assert_return_code(ret, 0);
+       assert_string_equal(data, testString);
+}
+
 /* 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)
@@ -614,6 +637,7 @@ static struct CMUnitTest tests[] = {
                HUSB_TEST_DEV_HANDLE(test_kernel_driver_active),
                HUSB_TEST_DEV_HANDLE(test_detach_kernel_driver),
                HUSB_TEST_DEV_HANDLE(test_attach_kernel_driver),
+               HUSB_TEST_DEV_HANDLE(test_get_string_descriptor_ascii),
 };
 
 
index eac127f146c949624cfc57cf8e605ebb372bb2d1..206c211ff5d2671aeba48d0e9446316f616e93ef 100644 (file)
@@ -308,3 +308,14 @@ int libusb_interrupt_transfer(libusb_device_handle *dev_handle,
 
        return mock_type(int);
 }
+
+int libusb_get_string_descriptor_ascii(libusb_device_handle *dev,
+       uint8_t desc_index, unsigned char *data, int length)
+{
+       check_expected(dev);
+       check_expected(desc_index);
+       check_expected(length);
+
+       strcpy (data, mock_ptr_type(unsigned char *));
+       return mock_type(int);
+}