tests: add libhusb_{release,claim}_interface invalid param tests
authorMichal Bloch <m.bloch@samsung.com>
Thu, 22 Oct 2015 11:08:52 +0000 (13:08 +0200)
committerStanislaw Wadas <s.wadas@samsung.com>
Wed, 2 Dec 2015 12:50:46 +0000 (13:50 +0100)
Change-Id: I35eb285e7b2ca03831ec656a729b3776274f85ff
Signed-off-by: Michal Bloch <m.bloch@samsung.com>
tests/libhusb-test.c

index a7dc657bfbb853289188b878b6dd238a3d4a0654..823b8424b032dd8d46a6be9c47720c8f4bff8a55 100644 (file)
@@ -381,6 +381,25 @@ static void test_claim_interface_simple(void **state)
        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;
@@ -399,6 +418,25 @@ static void test_release_interface_simple(void **state)
        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;
@@ -628,9 +666,11 @@ static struct CMUnitTest tests[] = {
                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),