assert_return_code(ret, 0);
}
+static void test_detach_kernel_driver(void **state)
+{
+ libhusb_device_handle *handle;
+ int ret,iface;
+
+ iface = rand();
+ handle = (libhusb_device_handle *)(*state);
+ assert_non_null(handle);
+
+ expect_value(libusb_detach_kernel_driver, dev, handle->lusb_dev_handle);
+ expect_value(libusb_detach_kernel_driver, interface_number, iface);
+ will_return(libusb_detach_kernel_driver, 0);
+
+ ret = libhusb_detach_kernel_driver(handle, iface);
+
+ assert_return_code(ret, 0);
+}
+
static void test_control_transfer(void **state)
{
uint8_t request_type, bRequest;
HUSB_TEST_DEV_HANDLE(test_clear_halt),
HUSB_TEST_DEV_HANDLE(test_reset_device),
HUSB_TEST_DEV_HANDLE(test_kernel_driver_active),
+ HUSB_TEST_DEV_HANDLE(test_detach_kernel_driver),
};
int libusb_detach_kernel_driver(libusb_device_handle *dev,
int interface_number)
{
- return 0;
+ check_expected(dev);
+ check_expected(interface_number);
+ return mock_type(int);
}
int libusb_attach_kernel_driver(libusb_device_handle *dev,