tests: Add detach kernel driver test
authorStanislaw Wadas <s.wadas@samsung.com>
Tue, 6 Oct 2015 13:53:25 +0000 (15:53 +0200)
committerStanislaw Wadas <s.wadas@samsung.com>
Wed, 2 Dec 2015 12:50:46 +0000 (13:50 +0100)
Change-Id: I395b898b7ecc9e70e7b457bb98dca9c601ab5d89
Signed-off-by: Stanislaw Wadas <s.wadas@samsung.com>
tests/libhusb-test.c
tests/libusb-wrap.c

index 40e46497a31e70d7aaf33bbe8eab431aea10df7e..c28eb718033cec2aad28e4ce8f482f728858d4e9 100644 (file)
@@ -412,6 +412,24 @@ static void test_kernel_driver_active(void **state)
        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;
@@ -534,6 +552,7 @@ static struct CMUnitTest tests[] = {
                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),
 };
 
 
index d9915f5ea43324407998c6c2ad4b2649a33df1aa..3d11391905ee61115370ded7d37fcc12456ac2f1 100644 (file)
@@ -253,7 +253,9 @@ int libusb_kernel_driver_active(libusb_device_handle *dev,
 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,