tests: Add claim_interface test
authorPawel Szewczyk <p.szewczyk@samsung.com>
Thu, 1 Oct 2015 15:02:04 +0000 (17:02 +0200)
committerStanislaw Wadas <s.wadas@samsung.com>
Wed, 2 Dec 2015 12:50:46 +0000 (13:50 +0100)
Change-Id: I19f000062c02f6d1f9d96c8bbadc72f33a5b9d02
Signed-off-by: Pawel Szewczyk <p.szewczyk@samsung.com>
tests/libhusb-test.c
tests/libusb-wrap.c

index db17967f12e59b9592becf2510def674e64df042..a38db2e9c00c8e7518a950ce7521b49297bcfb01 100644 (file)
@@ -302,6 +302,25 @@ static void test_set_config(void **state)
        assert_return_code(ret, 0);
 }
 
+static void test_claim_interface_simple(void **state)
+{
+       libhusb_device_handle *handle;
+       int interface_nmb, ret;
+
+       interface_nmb = 0;
+       handle = (libhusb_device_handle *)(*state);
+       assert_non_null(handle);
+
+       expect_value(libusb_claim_interface, dev, handle->lusb_dev_handle);
+       expect_value(libusb_claim_interface, interface_number, interface_nmb);
+       will_return(libusb_claim_interface, 0);
+
+       ret = libhusb_claim_interface(handle, interface_nmb, 0);
+
+       assert_return_code(ret, 0);
+       assert_int_equal(handle->driver_detached[interface_nmb], 1);
+}
+
 /* 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)
@@ -331,6 +350,7 @@ static struct CMUnitTest tests[] = {
                HUSB_TEST_DEV_HANDLE(test_get_active_config),
                HUSB_TEST_CTX(test_open_device_vid_pid),
                HUSB_TEST_DEV_HANDLE(test_set_config),
+               HUSB_TEST_DEV_HANDLE(test_claim_interface_simple),
 };
 
 
index 487c1e7cd1dd748e574a27dab8332253e3440224..b67063b2fc7ae83101e535d8086e2649d3bca528 100644 (file)
@@ -199,7 +199,9 @@ int libusb_set_configuration(libusb_device_handle *dev,
 int libusb_claim_interface(libusb_device_handle *dev,
        int interface_number)
 {
-       return 0;
+       check_expected(dev);
+       check_expected(interface_number);
+       return mock_type(int);
 }
 
 int libusb_release_interface(libusb_device_handle *dev,