tests: Add get port numbers test
authorStanislaw Wadas <s.wadas@samsung.com>
Thu, 8 Oct 2015 08:25:31 +0000 (10:25 +0200)
committerStanislaw Wadas <s.wadas@samsung.com>
Wed, 2 Dec 2015 12:50:46 +0000 (13:50 +0100)
Change-Id: Ia5b4c568345f682feb78305354ef3164db805a7a
Signed-off-by: Stanislaw Wadas <s.wadas@samsung.com>
tests/libhusb-test.c
tests/libusb-wrap.c

index 6d39151ae9dbfee4ebaf2512965cf32079cf527a..06ac35b2bb3c9bb162663b9a54207ca78ce4495b 100644 (file)
@@ -218,6 +218,27 @@ static void test_get_address(void **state)
        assert_int_equal(ret, expected);
 }
 
+static void test_get_port_numbers(void **state)
+{
+       libhusb_device *device;
+       uint8_t p_numbers[8];
+       int ret, p_num_len;
+
+       /* As per the USB 3.0 specs, the current maximum limit for the depth is 7 */
+       p_num_len = 8;
+       device = (libhusb_device *)(*state);
+       assert_non_null(device);
+
+       expect_value(libusb_get_port_numbers, dev, device->lusb_dev);
+       expect_value(libusb_get_port_numbers, port_numbers_len, p_num_len);
+       will_return(libusb_get_port_numbers, p_num_len -1);
+       will_return(libusb_get_port_numbers, 0);
+
+       ret = libhusb_get_port_numbers(device, p_numbers, p_num_len);
+
+       assert_return_code(ret, 0);
+}
+
 static void test_get_device_descriptor(void **state)
 {
        libhusb_device *device;
@@ -376,6 +397,7 @@ static struct CMUnitTest tests[] = {
                HUSB_TEST_DEVICE(test_get_max_packet_size),
                HUSB_TEST_DEVICE(test_get_bus_number),
                HUSB_TEST_DEVICE(test_get_address),
+               HUSB_TEST_DEVICE(test_get_port_numbers),
                HUSB_TEST_DEVICE(test_get_device_descriptor),
                HUSB_TEST_DEV_HANDLE(test_get_active_config),
                HUSB_TEST_CTX(test_open_device_vid_pid),
index fd720b7f487dabb2829f1aca0172f6270eaac146..a26271628121e3e91d3969027513b5b58ef1f8d1 100644 (file)
@@ -152,6 +152,16 @@ uint8_t libusb_get_device_address(libusb_device *dev)
        return mock_type(uint8_t);
 }
 
+int libusb_get_port_numbers(libusb_device *dev,
+               uint8_t* port_numbers, int port_numbers_len)
+{
+       check_expected(dev);
+       *port_numbers = mock_type(uint8_t);
+       check_expected(port_numbers_len);
+
+       return mock_type(int);
+}
+
 int libusb_get_device_speed(libusb_device *dev)
 {
        return 0;