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;
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),
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;