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)
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),
};
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);
+}