tests: Add get_active_config test
authorPawel Szewczyk <p.szewczyk@samsung.com>
Tue, 29 Sep 2015 14:08:18 +0000 (16:08 +0200)
committerStanislaw Wadas <s.wadas@samsung.com>
Wed, 2 Dec 2015 12:50:46 +0000 (13:50 +0100)
Change-Id: I77b0c502d708e90edf332fda6eec8dda29210aa6
Signed-off-by: Pawel Szewczyk <p.szewczyk@samsung.com>
tests/libhusb-test.c
tests/libusb-wrap.c

index 1fc81642b4df993fb8d0bc57019a315a3e450b19..b2ced9c50fa6fbea2c13764ce1756f0570b9672c 100644 (file)
@@ -75,6 +75,18 @@ static int setup_libhusb_device(void **state)
        return 0;
 }
 
+static int setup_libhusb_dev_handle(void **state)
+{
+       libhusb_device_handle *dev;
+
+       dev = malloc(sizeof(libhusb_device_handle));
+       /* TODO fill this with something? */
+
+       *state = dev;
+
+       return 0;
+}
+
 /**
  * @brief Just free the memory
  */
@@ -221,6 +233,24 @@ static void test_get_device_descriptor(void **state)
        assert_return_code(ret, 0);
 }
 
+static void test_get_active_config(void **state)
+{
+       libhusb_device_handle *handle;
+       int conf, expected, ret;
+
+       handle = (libhusb_device_handle *)(*state);
+       expected = rand();
+
+       expect_value(libusb_get_configuration, dev, handle->lusb_dev_handle);
+       will_return(libusb_get_configuration, expected);
+       will_return(libusb_get_configuration, 0);
+
+       ret = libhusb_get_active_config(handle, &conf);
+
+       assert_return_code(ret, 0);
+       assert_int_equal(conf, expected);
+}
+
 /* 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)
@@ -228,6 +258,8 @@ static void test_get_device_descriptor(void **state)
        cmocka_unit_test_setup_teardown(func, setup_libhusb_context, teardown_libhusb_context)
 #define HUSB_TEST_DEVICE(func) \
        cmocka_unit_test_setup_teardown(func, setup_libhusb_device, teardown_free)
+#define HUSB_TEST_DEV_HANDLE(func) \
+       cmocka_unit_test_setup_teardown(func, setup_libhusb_dev_handle, teardown_free)
 #define HUSB_TEST_NOSETUP(func) \
        cmocka_unit_test(func)
 
@@ -245,6 +277,7 @@ static struct CMUnitTest tests[] = {
                HUSB_TEST_DEVICE(test_get_bus_number),
                HUSB_TEST_DEVICE(test_get_address),
                HUSB_TEST_DEVICE(test_get_device_descriptor),
+               HUSB_TEST_DEV_HANDLE(test_get_active_config),
 };
 
 
index 0ba22139663a7f6c010e2ede1ef680c51ebf114c..ac97d8aa86e6e731ada7d37c414dd49fd37524c9 100644 (file)
@@ -103,7 +103,9 @@ void libusb_unref_device(libusb_device *dev)
 int libusb_get_configuration(libusb_device_handle *dev,
        int *config)
 {
-       return 0;
+       check_expected(dev);
+       *config = mock_type(int);
+       return mock_type(int);
 }
 
 int libusb_get_device_descriptor(libusb_device *dev,