tests: Add test of set_config
authorPawel Szewczyk <p.szewczyk@samsung.com>
Thu, 1 Oct 2015 12:06:46 +0000 (14:06 +0200)
committerPawel Szewczyk <p.szewczyk@samsung.com>
Thu, 1 Oct 2015 14:39:35 +0000 (16:39 +0200)
Change-Id: I6d623eb2bdfb6c63f2216f20ba9b65052f92972f
Signed-off-by: Pawel Szewczyk <p.szewczyk@samsung.com>
tests/libhusb-test.c
tests/libusb-wrap.c

index dd0d1a5dcceb1a59a4ed53f1f718d4ae33a82625..db17967f12e59b9592becf2510def674e64df042 100644 (file)
@@ -152,8 +152,10 @@ static void test_get_devices(void **state)
        assert_non_null(ctx);
 
        will_return(libusb_get_device_list, n);
-       for (i = 0; i < n; ++i)
+       for (i = 0; i < n; ++i) {
+               expect_any(libusb_ref_device, dev);
                will_return(libusb_get_device_list, lusb_devs[i]);
+       }
 
        ret = libhusb_get_devices(ctx, &devs);
 
@@ -272,6 +274,7 @@ static void test_open_device_vid_pid(void **state)
        expect_value(libusb_open_device_with_vid_pid, product_id, pid);
        will_return(libusb_open_device_with_vid_pid, lusb_dev_handle);
        will_return(libusb_get_device, lusb_device);
+       expect_any(libusb_ref_device, dev);
 
        handle = libhusb_device_open_with_vid_pid(ctx, vid, pid);
 
@@ -281,6 +284,24 @@ static void test_open_device_vid_pid(void **state)
        assert_ptr_equal(handle->device->lusb_dev, lusb_device);
 }
 
+static void test_set_config(void **state)
+{
+       libhusb_device_handle *handle;
+       int config, ret;
+
+       config = rand();
+       handle = (libhusb_device_handle *)(*state);
+       assert_non_null(handle);
+
+       expect_value(libusb_set_configuration, dev, handle->lusb_dev_handle);
+       expect_value(libusb_set_configuration, configuration, config);
+       will_return(libusb_set_configuration, 0);
+
+       ret = libhusb_set_config(handle, config);
+
+       assert_return_code(ret, 0);
+}
+
 /* 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)
@@ -309,6 +330,7 @@ static struct CMUnitTest tests[] = {
                HUSB_TEST_DEVICE(test_get_device_descriptor),
                HUSB_TEST_DEV_HANDLE(test_get_active_config),
                HUSB_TEST_CTX(test_open_device_vid_pid),
+               HUSB_TEST_DEV_HANDLE(test_set_config),
 };
 
 
index ac97d8aa86e6e731ada7d37c414dd49fd37524c9..487c1e7cd1dd748e574a27dab8332253e3440224 100644 (file)
@@ -93,6 +93,7 @@ void libusb_free_device_list(libusb_device **list,
 
 libusb_device * libusb_ref_device(libusb_device *dev)
 {
+       check_expected(dev);
        return dev;
 }
 
@@ -190,7 +191,9 @@ libusb_device * libusb_get_device(libusb_device_handle *dev_handle)
 int libusb_set_configuration(libusb_device_handle *dev,
        int configuration)
 {
-       return 0;
+       check_expected(dev);
+       check_expected(configuration);
+       return mock_type(int);
 }
 
 int libusb_claim_interface(libusb_device_handle *dev,