diff --git a/android/android-tester.c b/android/android-tester.c
index 11c3639..f5df0df 100644
--- a/android/android-tester.c
+++ b/android/android-tester.c
/* Test Socket HAL */
+static const struct socket_data btsock_inv_param_socktype = {
+ .sock_type = 0,
+ .channel = 1,
+ .service_uuid = NULL,
+ .service_name = "Test service",
+ .flags = 0,
+ .expected_status = BT_STATUS_PARM_INVALID,
+};
+
static void setup_socket_interface(const void *test_data)
{
struct test_data *data = tester_get_data();
tester_setup_complete();
}
+static void test_generic_listen(const void *test_data)
+{
+ struct test_data *data = tester_get_data();
+ const struct socket_data *test = data->test_data;
+ bt_status_t status;
+ int sock_fd = -1;
+
+ status = data->if_sock->listen(test->sock_type,
+ test->service_name, test->service_uuid,
+ test->channel, &sock_fd, test->flags);
+ if (status != test->expected_status) {
+ tester_test_failed();
+ goto clean;
+ }
+
+ tester_test_passed();
+
+clean:
+ if (sock_fd >= 0)
+ close(sock_fd);
+}
+
#define test_bredrle(name, data, test_setup, test, test_teardown) \
do { \
struct test_data *user; \
test_bredrle("Test Socket Init", NULL, setup_socket_interface,
test_dummy, teardown);
+ test_bredrle("Test Socket Listen - Invalid sock type",
+ &btsock_inv_param_socktype, setup_socket_interface,
+ test_generic_listen, teardown);
+
return tester_run();
}