assert_int_equal(handle->driver_detached[interface_nmb], 1);
}
+static void test_claim_interface_invalid(void **state)
+{
+ libhusb_device_handle *handle;
+ int interface_nmb, ret;
+
+ handle = (libhusb_device_handle *)(*state);
+ assert_non_null(handle);
+
+ interface_nmb = MAX_NMB_OF_CONFIGS + 1;
+
+ ret = libhusb_claim_interface(handle, interface_nmb, 0);
+ assert_int_equal(ret, LIBHUSB_ERROR_INVALID_PARAM);
+
+ interface_nmb = -1;
+
+ ret = libhusb_claim_interface(handle, interface_nmb, 0);
+ assert_int_equal(ret, LIBHUSB_ERROR_INVALID_PARAM);
+}
+
static void test_release_interface_simple(void **state)
{
libhusb_device_handle *handle;
assert_return_code(ret, 0);
}
+static void test_release_interface_invalid(void **state)
+{
+ libhusb_device_handle *handle;
+ int interface_nmb, ret;
+
+ handle = (libhusb_device_handle *)(*state);
+ assert_non_null(handle);
+
+ interface_nmb = MAX_NMB_OF_CONFIGS + 1;
+
+ ret = libhusb_release_interface(handle, interface_nmb);
+ assert_int_equal(ret, LIBHUSB_ERROR_INVALID_PARAM);
+
+ interface_nmb = -1;
+
+ ret = libhusb_release_interface(handle, interface_nmb);
+ assert_int_equal(ret, LIBHUSB_ERROR_INVALID_PARAM);
+}
+
static void test_clear_halt(void **state)
{
libhusb_device_handle *handle;
HUSB_TEST_CTX(test_open_device_vid_pid),
HUSB_TEST_DEV_HANDLE(test_set_config),
HUSB_TEST_DEV_HANDLE(test_claim_interface_simple),
+ HUSB_TEST_DEV_HANDLE(test_claim_interface_invalid),
HUSB_TEST_DEV_HANDLE(test_control_transfer),
HUSB_TEST_DEV_HANDLE(test_bulk_transfer_simple),
HUSB_TEST_DEV_HANDLE(test_release_interface_simple),
+ HUSB_TEST_DEV_HANDLE(test_release_interface_invalid),
HUSB_TEST_DEV_HANDLE(test_interrupt_transfer_simple),
HUSB_TEST_DEV_HANDLE(test_clear_halt),
HUSB_TEST_DEV_HANDLE(test_reset_device),