tests: Add device opening test
authorPawel Szewczyk <p.szewczyk@samsung.com>
Mon, 28 Sep 2015 11:55:18 +0000 (13:55 +0200)
committerStanislaw Wadas <s.wadas@samsung.com>
Wed, 2 Dec 2015 12:50:46 +0000 (13:50 +0100)
Change-Id: I899aaac5a216fc5d62f23674b0e83f927e64fd83
Signed-off-by: Pawel Szewczyk <p.szewczyk@samsung.com>
tests/libhusb-test.c
tests/libusb-wrap.c

index 2b3f17c4a4db12100020ea1768d1ec52cac75cff..13ae6502356c314a87332aa6a95133abaf59e623 100644 (file)
@@ -73,6 +73,29 @@ static void test_init(void **state)
        assert_non_null(ctx);
 }
 
+static void test_open(void **state)
+{
+       libhusb_context *ctx;
+       libusb_device_handle *lusb_handle;
+       libhusb_device_handle *handle;
+       libhusb_device device;
+
+       ctx = (libhusb_context *)(*state);
+       assert_non_null(ctx);
+
+       expect_value(libusb_open, dev, device.lusb_dev);
+       expect_any(libusb_open, handle);
+       will_return(libusb_open, lusb_handle);
+       will_return(libusb_open, 0);
+
+       handle = libhusb_open(&device);
+
+       assert_non_null(handle);
+       assert_ptr_equal(handle->device, &device);
+       assert_ptr_equal(handle->lusb_dev_handle, lusb_handle);
+}
+
+
 /* Custom macro for defining test with given name and fixed teardown function */
 #define HUSB_TEST_CTX(func) \
        cmocka_unit_test_setup_teardown(func, setup_libhusb_context, teardown_libhusb_context)
@@ -84,6 +107,7 @@ static struct CMUnitTest tests[] = {
                 * TODO: documentation
                 */
                HUSB_TEST_CTX(test_init),
+               HUSB_TEST_CTX(test_open),
 };
 
 
index 68af932ecd4acff843a0104d6636c13161c5c842..f1fb68b9f4023d7c5a4226eada996ae3f5488971 100644 (file)
@@ -82,7 +82,7 @@ void libusb_free_device_list(libusb_device **list,
 
 libusb_device * libusb_ref_device(libusb_device *dev)
 {
-       return NULL;
+       return dev;
 }
 
 void libusb_unref_device(libusb_device *dev)
@@ -153,7 +153,10 @@ int libusb_get_max_iso_packet_size(libusb_device *dev,
 
 int libusb_open(libusb_device *dev, libusb_device_handle **handle)
 {
-       return 0;
+       check_expected(dev);
+       check_expected(handle);
+       *handle = mock_ptr_type(libusb_device_handle *);
+       return mock_type(int);
 }
 
 void libusb_close(libusb_device_handle *dev_handle)
@@ -162,7 +165,7 @@ void libusb_close(libusb_device_handle *dev_handle)
 
 libusb_device * libusb_get_device(libusb_device_handle *dev_handle)
 {
-       return NULL;
+       return mock_ptr_type(libusb_device *);
 }
 
 int libusb_set_configuration(libusb_device_handle *dev,