From: Andrei Emeltchenko <[email protected]>
After listen() call Bluedroid sends channel number as (int) through file
descriptor.
---
android/android-tester.c | 27 +++++++++++++++++++++++++++
1 file changed, 27 insertions(+)
diff --git a/android/android-tester.c b/android/android-tester.c
index a58104d..9b56616 100644
--- a/android/android-tester.c
+++ b/android/android-tester.c
@@ -82,6 +82,7 @@ struct socket_data {
int channel;
int flags;
bt_status_t expected_status;
+ bool test_channel;
};
#define WAIT_FOR_SIGNAL_TIME 2 /* in seconds */
@@ -820,6 +821,16 @@ static const struct socket_data btsock_success = {
.expected_status = BT_STATUS_SUCCESS,
};
+static const struct socket_data btsock_success_check_chan = {
+ .sock_type = BTSOCK_RFCOMM,
+ .channel = 1,
+ .service_uuid = NULL,
+ .service_name = "Test service",
+ .flags = 0,
+ .expected_status = BT_STATUS_SUCCESS,
+ .test_channel = true,
+};
+
static void setup_socket_interface(const void *test_data)
{
struct test_data *data = tester_get_data();
@@ -857,6 +868,18 @@ static void test_generic_listen(const void *test_data)
return;
}
+ if (status == BT_STATUS_SUCCESS && test->test_channel) {
+ int channel, len;
+
+ len = read(sock_fd, &channel, sizeof(channel));
+ if (len != sizeof(channel) || channel != test->channel) {
+ tester_test_failed();
+ goto clean;
+ }
+
+ tester_print("read correct channel: %d", channel);
+ }
+
tester_test_passed();
clean:
@@ -1035,6 +1058,10 @@ int main(int argc, char *argv[])
&btsock_success,
setup_socket_interface, test_generic_listen, teardown);
+ test_bredrle("Socket Listen - Check returned channel",
+ &btsock_success_check_chan,
+ setup_socket_interface, test_generic_listen, teardown);
+
test_bredrle("Socket Connect - Invalid: sock_type 0",
&btsock_inv_param_socktype, setup_socket_interface,
test_generic_connect, teardown);
--
1.8.3.2
Hi Andrei,
On Mon, Dec 16, 2013, Andrei Emeltchenko wrote:
> After listen() call Bluedroid sends channel number as (int) through file
> descriptor.
> ---
> android/android-tester.c | 27 +++++++++++++++++++++++++++
> 1 file changed, 27 insertions(+)
All three patches have been applied. Thanks.
Johan
From: Andrei Emeltchenko <[email protected]>
Test for zero bluetooth address in connect().
---
android/android-tester.c | 14 ++++++++++++++
1 file changed, 14 insertions(+)
diff --git a/android/android-tester.c b/android/android-tester.c
index 9acc79d..eb938d0 100644
--- a/android/android-tester.c
+++ b/android/android-tester.c
@@ -832,6 +832,16 @@ static const struct socket_data btsock_success_check_chan = {
.test_channel = true,
};
+static const struct socket_data btsock_inv_param_bdaddr = {
+ .bdaddr = NULL,
+ .sock_type = BTSOCK_RFCOMM,
+ .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();
@@ -1075,5 +1085,9 @@ int main(int argc, char *argv[])
&btsock_inv_params_chan_uuid,
setup_socket_interface, test_generic_connect, teardown);
+ test_bredrle("Socket Connect - Invalid: bdaddr",
+ &btsock_inv_param_bdaddr,
+ setup_socket_interface, test_generic_connect, teardown);
+
return tester_run();
}
--
1.8.3.2
From: Andrei Emeltchenko <[email protected]>
At least one of parameters: channel or uuid shouldn't be zero.
---
android/android-tester.c | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/android/android-tester.c b/android/android-tester.c
index 9b56616..9acc79d 100644
--- a/android/android-tester.c
+++ b/android/android-tester.c
@@ -804,6 +804,7 @@ static const struct socket_data btsock_inv_param_socktype_l2cap = {
/* Test invalid: channel & uuid are both zeroes */
static const struct socket_data btsock_inv_params_chan_uuid = {
+ .bdaddr = &bdaddr_dummy,
.sock_type = BTSOCK_RFCOMM,
.channel = 0,
.service_uuid = NULL,
@@ -1070,5 +1071,9 @@ int main(int argc, char *argv[])
&btsock_inv_param_socktype_l2cap,
setup_socket_interface, test_generic_connect, teardown);
+ test_bredrle("Socket Connect - Invalid: chan, uuid",
+ &btsock_inv_params_chan_uuid,
+ setup_socket_interface, test_generic_connect, teardown);
+
return tester_run();
}
--
1.8.3.2