* [PATCH 0/8] Add PAN test cases
@ 2014-07-29 12:01 Ravi kumar Veeramally
2014-07-29 12:01 ` [PATCH 1/8] android/tester: Fix memory leak Ravi kumar Veeramally
` (8 more replies)
0 siblings, 9 replies; 13+ messages in thread
From: Ravi kumar Veeramally @ 2014-07-29 12:01 UTC (permalink / raw)
To: linux-bluetooth; +Cc: Ravi kumar Veeramally
Ravi kumar Veeramally (8):
android/tester: Fix memory leak
android/tester-ng: Add PAN init test case
android/tester-ng: Add PAN Connect test case
android/tester-ng: Add PAN Disconnect test case
anrdroid/tester-ng: Add PAN Get Local Role test case
android/tester-ng: Add PAN Enable PANU test case
android/tester-ng: Add PAN Enable NAP test case
android/tester-ng: Add PAN Enable None test case
android/Makefile.am | 1 +
android/tester-main.c | 83 +++++++++++++++++++
android/tester-main.h | 8 ++
android/tester-pan.c | 219 ++++++++++++++++++++++++++++++++++++++++++++++++++
4 files changed, 311 insertions(+)
create mode 100644 android/tester-pan.c
--
1.9.1
^ permalink raw reply [flat|nested] 13+ messages in thread
* [PATCH 1/8] android/tester: Fix memory leak
2014-07-29 12:01 [PATCH 0/8] Add PAN test cases Ravi kumar Veeramally
@ 2014-07-29 12:01 ` Ravi kumar Veeramally
2014-07-29 12:01 ` [PATCH 2/8] android/tester-ng: Add PAN init test case Ravi kumar Veeramally
` (7 subsequent siblings)
8 siblings, 0 replies; 13+ messages in thread
From: Ravi kumar Veeramally @ 2014-07-29 12:01 UTC (permalink / raw)
To: linux-bluetooth; +Cc: Ravi kumar Veeramally
Fixes valgrind report.
==26707== HEAP SUMMARY:
==26707== in use at exit: 4,943 bytes in 41 blocks
==26707== total heap usage: 25,702 allocs, 25,661 frees, 1,379,978 bytes allocated
==26707==
==26707== 8 bytes in 2 blocks are definitely lost in loss record 6 of 39
==26707== at 0x4C2AB80: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==26707== by 0x5089610: g_malloc (in /lib/x86_64-linux-gnu/libglib-2.0.so.0.4000.0)
==26707== by 0x50A0B57: g_memdup (in /lib/x86_64-linux-gnu/libglib-2.0.so.0.4000.0)
==26707== by 0x40E57E: create_property (tester-main.c:623)
==26707== by 0x40F49C: pin_request_cb (tester-main.c:713)
==26707== by 0x5F70E7A: notification_handler (hal-ipc.c:125)
==26707== by 0x534B181: start_thread (pthread_create.c:312)
==26707== by 0x565C30C: clone (clone.S:111)
==26707==
==26707== 12 bytes in 2 blocks are definitely lost in loss record 7 of 39
==26707== at 0x4C2AB80: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==26707== by 0x5089610: g_malloc (in /lib/x86_64-linux-gnu/libglib-2.0.so.0.4000.0)
==26707== by 0x50A0B57: g_memdup (in /lib/x86_64-linux-gnu/libglib-2.0.so.0.4000.0)
==26707== by 0x40E57E: create_property (tester-main.c:623)
==26707== by 0x40F467: pin_request_cb (tester-main.c:709)
==26707== by 0x5F70E7A: notification_handler (hal-ipc.c:125)
==26707== by 0x534B181: start_thread (pthread_create.c:312)
==26707== by 0x565C30C: clone (clone.S:111)
==26707==
==26707== LEAK SUMMARY:
==26707== definitely lost: 20 bytes in 4 blocks
==26707== indirectly lost: 0 bytes in 0 blocks
==26707== possibly lost: 0 bytes in 0 blocks
==26707== still reachable: 4,923 bytes in 37 blocks
==26707== suppressed: 0 bytes in 0 blocks
---
android/tester-main.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/android/tester-main.c b/android/tester-main.c
index abef822..91a79ba 100644
--- a/android/tester-main.c
+++ b/android/tester-main.c
@@ -716,8 +716,11 @@ static void pin_request_cb(bt_bdaddr_t *remote_bd_addr,
step->callback_result.num_properties = 3;
step->callback_result.properties = repack_properties(3, props);
+ g_free(props[0]->val);
g_free(props[0]);
+ g_free(props[1]->val);
g_free(props[1]);
+ g_free(props[2]->val);
g_free(props[2]);
schedule_callback_call(step);
--
1.9.1
^ permalink raw reply related [flat|nested] 13+ messages in thread
* [PATCH 2/8] android/tester-ng: Add PAN init test case
2014-07-29 12:01 [PATCH 0/8] Add PAN test cases Ravi kumar Veeramally
2014-07-29 12:01 ` [PATCH 1/8] android/tester: Fix memory leak Ravi kumar Veeramally
@ 2014-07-29 12:01 ` Ravi kumar Veeramally
2014-07-29 13:07 ` Tyszkowski Jakub
2014-07-29 12:01 ` [PATCH 3/8] android/tester-ng: Add PAN Connect " Ravi kumar Veeramally
` (6 subsequent siblings)
8 siblings, 1 reply; 13+ messages in thread
From: Ravi kumar Veeramally @ 2014-07-29 12:01 UTC (permalink / raw)
To: linux-bluetooth; +Cc: Ravi kumar Veeramally
---
android/Makefile.am | 1 +
android/tester-main.c | 80 +++++++++++++++++++++++++++++++++++++++++++++++++++
android/tester-main.h | 8 ++++++
android/tester-pan.c | 48 +++++++++++++++++++++++++++++++
4 files changed, 137 insertions(+)
create mode 100644 android/tester-pan.c
diff --git a/android/Makefile.am b/android/Makefile.am
index 84a05a8..66cb8c1 100644
--- a/android/Makefile.am
+++ b/android/Makefile.am
@@ -181,6 +181,7 @@ android_android_tester_ng_SOURCES = emulator/btdev.h emulator/btdev.c \
android/tester-bluetooth.c \
android/tester-socket.c \
android/tester-hidhost.c \
+ android/tester-pan.c \
android/tester-gatt.c \
android/tester-main.h android/tester-main.c
diff --git a/android/tester-main.c b/android/tester-main.c
index 91a79ba..5e71809 100644
--- a/android/tester-main.c
+++ b/android/tester-main.c
@@ -783,6 +783,37 @@ static bthh_callbacks_t bthh_callbacks = {
.virtual_unplug_cb = NULL
};
+static void pan_control_state_cb(btpan_control_state_t state,
+ bt_status_t error, int local_role,
+ const char *ifname)
+{
+ struct step *step = g_new0(struct step, 1);
+
+ step->callback = CB_PAN_CONTROL_STATE;
+ step->callback_result.state = state;
+
+ schedule_callback_call(step);
+}
+
+static void pan_connection_state_cb(btpan_connection_state_t state,
+ bt_status_t error,
+ const bt_bdaddr_t *bd_addr,
+ int local_role, int remote_role)
+{
+ struct step *step = g_new0(struct step, 1);
+
+ step->callback = CB_PAN_CONNECTION_STATE;
+ step->callback_result.state = state;
+
+ schedule_callback_call(step);
+}
+
+static btpan_callbacks_t btpan_callbacks = {
+ .size = sizeof(btpan_callbacks),
+ .control_state_cb = pan_control_state_cb,
+ .connection_state_cb = pan_connection_state_cb,
+};
+
static const btgatt_client_callbacks_t btgatt_client_callbacks = {
.register_client_cb = NULL,
.scan_result_cb = NULL,
@@ -974,6 +1005,42 @@ static void setup_hidhost(const void *test_data)
tester_setup_complete();
}
+static void setup_pan(const void *test_data)
+{
+ struct test_data *data = tester_get_data();
+ bt_status_t status;
+ const void *pan;
+
+ if (!setup_base(data)) {
+ tester_setup_failed();
+ return;
+ }
+
+ status = data->if_bluetooth->init(&bt_callbacks);
+ if (status != BT_STATUS_SUCCESS) {
+ data->if_bluetooth = NULL;
+ tester_setup_failed();
+ return;
+ }
+
+ pan = data->if_bluetooth->get_profile_interface(BT_PROFILE_PAN_ID);
+ if (!pan) {
+ tester_setup_failed();
+ return;
+ }
+
+ data->if_pan = pan;
+
+ status = data->if_pan->init(&btpan_callbacks);
+ if (status != BT_STATUS_SUCCESS) {
+ data->if_pan = NULL;
+ tester_setup_failed();
+ return;
+ }
+
+ tester_setup_complete();
+}
+
static void setup_gatt(const void *test_data)
{
struct test_data *data = tester_get_data();
@@ -1028,6 +1095,11 @@ static void teardown(const void *test_data)
data->if_hid = NULL;
}
+ if (data->if_pan) {
+ data->if_pan->cleanup();
+ data->if_pan = NULL;
+ }
+
if (data->if_bluetooth) {
data->if_bluetooth->cleanup();
data->if_bluetooth = NULL;
@@ -1470,6 +1542,13 @@ static void add_hidhost_tests(void *data, void *user_data)
test(tc, setup_hidhost, generic_test_function, teardown);
}
+static void add_pan_tests(void *data, void *user_data)
+{
+ struct test_case *tc = data;
+
+ test(tc, setup_pan, generic_test_function, teardown);
+}
+
static void add_gatt_tests(void *data, void *user_data)
{
struct test_case *tc = data;
@@ -1486,6 +1565,7 @@ int main(int argc, char *argv[])
queue_foreach(get_bluetooth_tests(), add_bluetooth_tests, NULL);
queue_foreach(get_socket_tests(), add_socket_tests, NULL);
queue_foreach(get_hidhost_tests(), add_hidhost_tests, NULL);
+ queue_foreach(get_pan_tests(), add_pan_tests, NULL);
queue_foreach(get_gatt_tests(), add_gatt_tests, NULL);
if (tester_run())
diff --git a/android/tester-main.h b/android/tester-main.h
index e2ecaab..dabccff 100644
--- a/android/tester-main.h
+++ b/android/tester-main.h
@@ -46,6 +46,7 @@
#include <hardware/bluetooth.h>
#include <hardware/bt_sock.h>
#include <hardware/bt_hh.h>
+#include <hardware/bt_pan.h>
#include <hardware/bt_gatt.h>
#include <hardware/bt_gatt_client.h>
#include <hardware/bt_gatt_server.h>
@@ -154,6 +155,10 @@ typedef enum {
CB_HH_GET_REPORT,
CB_HH_VIRTUAL_UNPLUG,
+ /* PAN cb */
+ CB_PAN_CONTROL_STATE,
+ CB_PAN_CONNECTION_STATE,
+
/* Gatt client */
CB_GATTC_REGISTER_CLIENT,
CB_GATTC_SCAN_RESULT,
@@ -199,6 +204,7 @@ struct test_data {
const bt_interface_t *if_bluetooth;
const btsock_interface_t *if_sock;
const bthh_interface_t *if_hid;
+ const btpan_interface_t *if_pan;
const btgatt_interface_t *if_gatt;
const void *test_data;
@@ -284,6 +290,8 @@ struct queue *get_socket_tests(void);
void remove_socket_tests(void);
struct queue *get_hidhost_tests(void);
void remove_hidhost_tests(void);
+struct queue *get_pan_tests(void);
+void remove_pan_tests(void);
struct queue *get_gatt_tests(void);
void remove_gatt_tests(void);
diff --git a/android/tester-pan.c b/android/tester-pan.c
new file mode 100644
index 0000000..caead9c
--- /dev/null
+++ b/android/tester-pan.c
@@ -0,0 +1,48 @@
+/*
+ * Copyright (C) 2014 Intel Corporation
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#include <stdbool.h>
+
+#include "emulator/bthost.h"
+#include "tester-main.h"
+#include "android/utils.h"
+
+static struct queue *list; /* List of pan test cases */
+
+static struct test_case test_cases[] = {
+ TEST_CASE_BREDRLE("PAN Init",
+ ACTION_SUCCESS(dummy_action, NULL),
+ ),
+};
+
+struct queue *get_pan_tests(void)
+{
+ uint16_t i = 0;
+
+ list = queue_new();
+
+ for (; i < sizeof(test_cases) / sizeof(test_cases[0]); ++i)
+ if (!queue_push_tail(list, &test_cases[i]))
+ return NULL;
+
+ return list;
+}
+
+void remove_pan_tests(void)
+{
+ queue_destroy(list, NULL);
+}
--
1.9.1
^ permalink raw reply related [flat|nested] 13+ messages in thread
* [PATCH 3/8] android/tester-ng: Add PAN Connect test case
2014-07-29 12:01 [PATCH 0/8] Add PAN test cases Ravi kumar Veeramally
2014-07-29 12:01 ` [PATCH 1/8] android/tester: Fix memory leak Ravi kumar Veeramally
2014-07-29 12:01 ` [PATCH 2/8] android/tester-ng: Add PAN init test case Ravi kumar Veeramally
@ 2014-07-29 12:01 ` Ravi kumar Veeramally
2014-07-29 12:01 ` [PATCH 4/8] android/tester-ng: Add PAN Disconnect " Ravi kumar Veeramally
` (5 subsequent siblings)
8 siblings, 0 replies; 13+ messages in thread
From: Ravi kumar Veeramally @ 2014-07-29 12:01 UTC (permalink / raw)
To: linux-bluetooth; +Cc: Ravi kumar Veeramally
---
android/tester-pan.c | 69 ++++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 69 insertions(+)
diff --git a/android/tester-pan.c b/android/tester-pan.c
index caead9c..baf1d68 100644
--- a/android/tester-pan.c
+++ b/android/tester-pan.c
@@ -23,10 +23,79 @@
static struct queue *list; /* List of pan test cases */
+struct emu_cid_data {
+ uint16_t nap_handle;
+ uint16_t nap_cid;
+};
+
+struct emu_cid_data cid_data;
+static uint8_t pan_conn_req_pdu[] = {0x01, 0x01, 0x02, 0x11, 0x16, 0x11, 0x15};
+static uint8_t pan_conn_rsp_pdu[] = {0x01, 0x02, 0x00, 0x00};
+
+static void pan_nap_cid_hook_cb(const void *data, uint16_t len, void *user_data)
+{
+ struct test_data *t_data = tester_get_data();
+ struct emu_cid_data *cid_data = user_data;
+ struct bthost *bthost = hciemu_client_get_host(t_data->hciemu);
+
+ if (!memcmp((uint8_t *) data, pan_conn_req_pdu,
+ sizeof(pan_conn_req_pdu)))
+ bthost_send_cid(bthost, cid_data->nap_handle, cid_data->nap_cid,
+ pan_conn_rsp_pdu, sizeof(pan_conn_rsp_pdu));
+}
+
+static void pan_connect_request_cb(uint16_t handle, uint16_t cid,
+ void *user_data)
+{
+ struct test_data *data = tester_get_data();
+ struct bthost *bthost = hciemu_client_get_host(data->hciemu);
+
+ cid_data.nap_handle = handle;
+ cid_data.nap_cid = cid;
+
+ bthost_add_cid_hook(bthost, handle, cid, pan_nap_cid_hook_cb,
+ &cid_data);
+}
+
+static struct emu_set_l2cap_data l2cap_setup_data = {
+ .psm = 15,
+ .func = pan_connect_request_cb,
+ .user_data = NULL,
+};
+
+static void pan_connect_action(void)
+{
+ struct test_data *data = tester_get_data();
+ const uint8_t *pan_addr = hciemu_get_client_bdaddr(data->hciemu);
+ struct step *step = g_new0(struct step, 1);
+ bt_bdaddr_t bdaddr;
+
+ bdaddr2android((const bdaddr_t *) pan_addr, &bdaddr);
+
+ step->action_status = data->if_pan->connect(&bdaddr,
+ BTPAN_ROLE_PANU, BTPAN_ROLE_PANNAP);
+
+ schedule_action_verification(step);
+}
+
static struct test_case test_cases[] = {
TEST_CASE_BREDRLE("PAN Init",
ACTION_SUCCESS(dummy_action, NULL),
),
+ TEST_CASE_BREDRLE("PAN Connect - Success",
+ ACTION_SUCCESS(bluetooth_enable_action, NULL),
+ CALLBACK_STATE(CB_BT_ADAPTER_STATE_CHANGED, BT_STATE_ON),
+ ACTION_SUCCESS(emu_setup_powered_remote_action, NULL),
+ ACTION_SUCCESS(emu_set_ssp_mode_action, NULL),
+ ACTION_SUCCESS(emu_add_l2cap_server_action, &l2cap_setup_data),
+ ACTION_SUCCESS(pan_connect_action, NULL),
+ CALLBACK_STATE(CB_PAN_CONNECTION_STATE,
+ BTPAN_STATE_CONNECTED),
+ ACTION_SUCCESS(bluetooth_disable_action, NULL),
+ CALLBACK_STATE(CB_PAN_CONNECTION_STATE,
+ BTPAN_STATE_DISCONNECTED),
+ CALLBACK_STATE(CB_BT_ADAPTER_STATE_CHANGED, BT_STATE_OFF),
+ ),
};
struct queue *get_pan_tests(void)
--
1.9.1
^ permalink raw reply related [flat|nested] 13+ messages in thread
* [PATCH 4/8] android/tester-ng: Add PAN Disconnect test case
2014-07-29 12:01 [PATCH 0/8] Add PAN test cases Ravi kumar Veeramally
` (2 preceding siblings ...)
2014-07-29 12:01 ` [PATCH 3/8] android/tester-ng: Add PAN Connect " Ravi kumar Veeramally
@ 2014-07-29 12:01 ` Ravi kumar Veeramally
2014-07-29 12:01 ` [PATCH 5/8] anrdroid/tester-ng: Add PAN Get Local Role " Ravi kumar Veeramally
` (4 subsequent siblings)
8 siblings, 0 replies; 13+ messages in thread
From: Ravi kumar Veeramally @ 2014-07-29 12:01 UTC (permalink / raw)
To: linux-bluetooth; +Cc: Ravi kumar Veeramally
---
android/tester-pan.c | 29 +++++++++++++++++++++++++++++
1 file changed, 29 insertions(+)
diff --git a/android/tester-pan.c b/android/tester-pan.c
index baf1d68..5048a43 100644
--- a/android/tester-pan.c
+++ b/android/tester-pan.c
@@ -78,6 +78,20 @@ static void pan_connect_action(void)
schedule_action_verification(step);
}
+static void pan_disconnect_action(void)
+{
+ struct test_data *data = tester_get_data();
+ const uint8_t *pan_addr = hciemu_get_client_bdaddr(data->hciemu);
+ struct step *step = g_new0(struct step, 1);
+ bt_bdaddr_t bdaddr;
+
+ bdaddr2android((const bdaddr_t *) pan_addr, &bdaddr);
+
+ step->action_status = data->if_pan->disconnect(&bdaddr);
+
+ schedule_action_verification(step);
+}
+
static struct test_case test_cases[] = {
TEST_CASE_BREDRLE("PAN Init",
ACTION_SUCCESS(dummy_action, NULL),
@@ -96,6 +110,21 @@ static struct test_case test_cases[] = {
BTPAN_STATE_DISCONNECTED),
CALLBACK_STATE(CB_BT_ADAPTER_STATE_CHANGED, BT_STATE_OFF),
),
+ TEST_CASE_BREDRLE("PAN Disconnect - Success",
+ ACTION_SUCCESS(bluetooth_enable_action, NULL),
+ CALLBACK_STATE(CB_BT_ADAPTER_STATE_CHANGED, BT_STATE_ON),
+ ACTION_SUCCESS(emu_setup_powered_remote_action, NULL),
+ ACTION_SUCCESS(emu_set_ssp_mode_action, NULL),
+ ACTION_SUCCESS(emu_add_l2cap_server_action, &l2cap_setup_data),
+ ACTION_SUCCESS(pan_connect_action, NULL),
+ CALLBACK_STATE(CB_PAN_CONNECTION_STATE,
+ BTPAN_STATE_CONNECTED),
+ ACTION_SUCCESS(pan_disconnect_action, NULL),
+ CALLBACK_STATE(CB_PAN_CONNECTION_STATE,
+ BTPAN_STATE_DISCONNECTED),
+ ACTION_SUCCESS(bluetooth_disable_action, NULL),
+ CALLBACK_STATE(CB_BT_ADAPTER_STATE_CHANGED, BT_STATE_OFF),
+ ),
};
struct queue *get_pan_tests(void)
--
1.9.1
^ permalink raw reply related [flat|nested] 13+ messages in thread
* [PATCH 5/8] anrdroid/tester-ng: Add PAN Get Local Role test case
2014-07-29 12:01 [PATCH 0/8] Add PAN test cases Ravi kumar Veeramally
` (3 preceding siblings ...)
2014-07-29 12:01 ` [PATCH 4/8] android/tester-ng: Add PAN Disconnect " Ravi kumar Veeramally
@ 2014-07-29 12:01 ` Ravi kumar Veeramally
2014-07-29 13:15 ` Grzegorz Kolodziejczyk
2014-07-29 12:01 ` [PATCH 6/8] android/tester-ng: Add PAN Enable PANU " Ravi kumar Veeramally
` (3 subsequent siblings)
8 siblings, 1 reply; 13+ messages in thread
From: Ravi kumar Veeramally @ 2014-07-29 12:01 UTC (permalink / raw)
To: linux-bluetooth; +Cc: Ravi kumar Veeramally
---
android/tester-pan.c | 34 ++++++++++++++++++++++++++++++++++
1 file changed, 34 insertions(+)
diff --git a/android/tester-pan.c b/android/tester-pan.c
index 5048a43..1db4a85 100644
--- a/android/tester-pan.c
+++ b/android/tester-pan.c
@@ -92,6 +92,25 @@ static void pan_disconnect_action(void)
schedule_action_verification(step);
}
+static void pan_get_local_role_action(void)
+{
+ struct test_data *data = tester_get_data();
+ const uint8_t *pan_addr = hciemu_get_client_bdaddr(data->hciemu);
+ struct step *step = g_new0(struct step, 1);
+ bt_bdaddr_t bdaddr;
+ int role;
+
+ bdaddr2android((const bdaddr_t *) pan_addr, &bdaddr);
+
+ role = data->if_pan->get_local_role();
+ if (role == BTPAN_ROLE_PANU)
+ step->action_status = BT_STATUS_SUCCESS;
+ else
+ step->action_status = BT_STATUS_FAIL;
+
+ schedule_action_verification(step);
+}
+
static struct test_case test_cases[] = {
TEST_CASE_BREDRLE("PAN Init",
ACTION_SUCCESS(dummy_action, NULL),
@@ -125,6 +144,21 @@ static struct test_case test_cases[] = {
ACTION_SUCCESS(bluetooth_disable_action, NULL),
CALLBACK_STATE(CB_BT_ADAPTER_STATE_CHANGED, BT_STATE_OFF),
),
+ TEST_CASE_BREDRLE("PAN GetLocalRole - Success",
+ ACTION_SUCCESS(bluetooth_enable_action, NULL),
+ CALLBACK_STATE(CB_BT_ADAPTER_STATE_CHANGED, BT_STATE_ON),
+ ACTION_SUCCESS(emu_setup_powered_remote_action, NULL),
+ ACTION_SUCCESS(emu_set_ssp_mode_action, NULL),
+ ACTION_SUCCESS(emu_add_l2cap_server_action, &l2cap_setup_data),
+ ACTION_SUCCESS(pan_connect_action, NULL),
+ CALLBACK_STATE(CB_PAN_CONNECTION_STATE,
+ BTPAN_STATE_CONNECTED),
+ ACTION_SUCCESS(pan_get_local_role_action, NULL),
+ ACTION_SUCCESS(bluetooth_disable_action, NULL),
+ CALLBACK_STATE(CB_PAN_CONNECTION_STATE,
+ BTPAN_STATE_DISCONNECTED),
+ CALLBACK_STATE(CB_BT_ADAPTER_STATE_CHANGED, BT_STATE_OFF),
+ ),
};
struct queue *get_pan_tests(void)
--
1.9.1
^ permalink raw reply related [flat|nested] 13+ messages in thread
* [PATCH 6/8] android/tester-ng: Add PAN Enable PANU test case
2014-07-29 12:01 [PATCH 0/8] Add PAN test cases Ravi kumar Veeramally
` (4 preceding siblings ...)
2014-07-29 12:01 ` [PATCH 5/8] anrdroid/tester-ng: Add PAN Get Local Role " Ravi kumar Veeramally
@ 2014-07-29 12:01 ` Ravi kumar Veeramally
2014-07-29 12:01 ` [PATCH 7/8] android/tester-ng: Add PAN Enable NAP " Ravi kumar Veeramally
` (2 subsequent siblings)
8 siblings, 0 replies; 13+ messages in thread
From: Ravi kumar Veeramally @ 2014-07-29 12:01 UTC (permalink / raw)
To: linux-bluetooth; +Cc: Ravi kumar Veeramally
---
android/tester-pan.c | 13 +++++++++++++
1 file changed, 13 insertions(+)
diff --git a/android/tester-pan.c b/android/tester-pan.c
index 1db4a85..7b013cc 100644
--- a/android/tester-pan.c
+++ b/android/tester-pan.c
@@ -111,6 +111,16 @@ static void pan_get_local_role_action(void)
schedule_action_verification(step);
}
+static void pan_enable_panu_action(void)
+{
+ struct test_data *data = tester_get_data();
+ struct step *step = g_new0(struct step, 1);
+
+ step->action_status = data->if_pan->enable(BTPAN_ROLE_PANU);
+
+ schedule_action_verification(step);
+}
+
static struct test_case test_cases[] = {
TEST_CASE_BREDRLE("PAN Init",
ACTION_SUCCESS(dummy_action, NULL),
@@ -159,6 +169,9 @@ static struct test_case test_cases[] = {
BTPAN_STATE_DISCONNECTED),
CALLBACK_STATE(CB_BT_ADAPTER_STATE_CHANGED, BT_STATE_OFF),
),
+ TEST_CASE_BREDRLE("PAN Enable PANU - Success",
+ ACTION(BT_STATUS_UNSUPPORTED, pan_enable_panu_action, NULL),
+ ),
};
struct queue *get_pan_tests(void)
--
1.9.1
^ permalink raw reply related [flat|nested] 13+ messages in thread
* [PATCH 7/8] android/tester-ng: Add PAN Enable NAP test case
2014-07-29 12:01 [PATCH 0/8] Add PAN test cases Ravi kumar Veeramally
` (5 preceding siblings ...)
2014-07-29 12:01 ` [PATCH 6/8] android/tester-ng: Add PAN Enable PANU " Ravi kumar Veeramally
@ 2014-07-29 12:01 ` Ravi kumar Veeramally
2014-07-29 13:15 ` Tyszkowski Jakub
2014-07-29 12:01 ` [PATCH 8/8] android/tester-ng: Add PAN Enable None " Ravi kumar Veeramally
2014-07-30 10:06 ` [PATCH 0/8] Add PAN test cases Szymon Janc
8 siblings, 1 reply; 13+ messages in thread
From: Ravi kumar Veeramally @ 2014-07-29 12:01 UTC (permalink / raw)
To: linux-bluetooth; +Cc: Ravi kumar Veeramally
---
android/tester-pan.c | 13 +++++++++++++
1 file changed, 13 insertions(+)
diff --git a/android/tester-pan.c b/android/tester-pan.c
index 7b013cc..1acc460 100644
--- a/android/tester-pan.c
+++ b/android/tester-pan.c
@@ -121,6 +121,16 @@ static void pan_enable_panu_action(void)
schedule_action_verification(step);
}
+static void pan_enable_nap_action(void)
+{
+ struct test_data *data = tester_get_data();
+ struct step *step = g_new0(struct step, 1);
+
+ step->action_status = data->if_pan->enable(BTPAN_ROLE_PANNAP);
+
+ schedule_action_verification(step);
+}
+
static struct test_case test_cases[] = {
TEST_CASE_BREDRLE("PAN Init",
ACTION_SUCCESS(dummy_action, NULL),
@@ -172,6 +182,9 @@ static struct test_case test_cases[] = {
TEST_CASE_BREDRLE("PAN Enable PANU - Success",
ACTION(BT_STATUS_UNSUPPORTED, pan_enable_panu_action, NULL),
),
+ TEST_CASE_BREDRLE("PAN Enable NAP - Success",
+ ACTION_SUCCESS(pan_enable_nap_action, NULL),
+ ),
};
struct queue *get_pan_tests(void)
--
1.9.1
^ permalink raw reply related [flat|nested] 13+ messages in thread
* [PATCH 8/8] android/tester-ng: Add PAN Enable None test case
2014-07-29 12:01 [PATCH 0/8] Add PAN test cases Ravi kumar Veeramally
` (6 preceding siblings ...)
2014-07-29 12:01 ` [PATCH 7/8] android/tester-ng: Add PAN Enable NAP " Ravi kumar Veeramally
@ 2014-07-29 12:01 ` Ravi kumar Veeramally
2014-07-30 10:06 ` [PATCH 0/8] Add PAN test cases Szymon Janc
8 siblings, 0 replies; 13+ messages in thread
From: Ravi kumar Veeramally @ 2014-07-29 12:01 UTC (permalink / raw)
To: linux-bluetooth; +Cc: Ravi kumar Veeramally
---
android/tester-pan.c | 13 +++++++++++++
1 file changed, 13 insertions(+)
diff --git a/android/tester-pan.c b/android/tester-pan.c
index 1acc460..c3a8cea 100644
--- a/android/tester-pan.c
+++ b/android/tester-pan.c
@@ -131,6 +131,16 @@ static void pan_enable_nap_action(void)
schedule_action_verification(step);
}
+static void pan_enable_none_action(void)
+{
+ struct test_data *data = tester_get_data();
+ struct step *step = g_new0(struct step, 1);
+
+ step->action_status = data->if_pan->enable(BTPAN_ROLE_NONE);
+
+ schedule_action_verification(step);
+}
+
static struct test_case test_cases[] = {
TEST_CASE_BREDRLE("PAN Init",
ACTION_SUCCESS(dummy_action, NULL),
@@ -185,6 +195,9 @@ static struct test_case test_cases[] = {
TEST_CASE_BREDRLE("PAN Enable NAP - Success",
ACTION_SUCCESS(pan_enable_nap_action, NULL),
),
+ TEST_CASE_BREDRLE("PAN Enable NONE - Success",
+ ACTION_SUCCESS(pan_enable_none_action, NULL),
+ ),
};
struct queue *get_pan_tests(void)
--
1.9.1
^ permalink raw reply related [flat|nested] 13+ messages in thread
* Re: [PATCH 2/8] android/tester-ng: Add PAN init test case
2014-07-29 12:01 ` [PATCH 2/8] android/tester-ng: Add PAN init test case Ravi kumar Veeramally
@ 2014-07-29 13:07 ` Tyszkowski Jakub
0 siblings, 0 replies; 13+ messages in thread
From: Tyszkowski Jakub @ 2014-07-29 13:07 UTC (permalink / raw)
To: Ravi kumar Veeramally, linux-bluetooth
Hi Ravi,
On 07/29/2014 02:01 PM, Ravi kumar Veeramally wrote:
> ---
> android/Makefile.am | 1 +
> android/tester-main.c | 80 +++++++++++++++++++++++++++++++++++++++++++++++++++
> android/tester-main.h | 8 ++++++
> android/tester-pan.c | 48 +++++++++++++++++++++++++++++++
> 4 files changed, 137 insertions(+)
> create mode 100644 android/tester-pan.c
>
> diff --git a/android/Makefile.am b/android/Makefile.am
> index 84a05a8..66cb8c1 100644
> --- a/android/Makefile.am
> +++ b/android/Makefile.am
> @@ -181,6 +181,7 @@ android_android_tester_ng_SOURCES = emulator/btdev.h emulator/btdev.c \
> android/tester-bluetooth.c \
> android/tester-socket.c \
> android/tester-hidhost.c \
> + android/tester-pan.c \
> android/tester-gatt.c \
> android/tester-main.h android/tester-main.c
>
> diff --git a/android/tester-main.c b/android/tester-main.c
> index 91a79ba..5e71809 100644
> --- a/android/tester-main.c
> +++ b/android/tester-main.c
> @@ -783,6 +783,37 @@ static bthh_callbacks_t bthh_callbacks = {
> .virtual_unplug_cb = NULL
> };
>
> +static void pan_control_state_cb(btpan_control_state_t state,
> + bt_status_t error, int local_role,
> + const char *ifname)
> +{
> + struct step *step = g_new0(struct step, 1);
> +
> + step->callback = CB_PAN_CONTROL_STATE;
> + step->callback_result.state = state;
> +
> + schedule_callback_call(step);
> +}
> +
> +static void pan_connection_state_cb(btpan_connection_state_t state,
> + bt_status_t error,
> + const bt_bdaddr_t *bd_addr,
> + int local_role, int remote_role)
> +{
> + struct step *step = g_new0(struct step, 1);
> +
> + step->callback = CB_PAN_CONNECTION_STATE;
> + step->callback_result.state = state;
> +
> + schedule_callback_call(step);
> +}
It would be nice to verify more than one callback parameter.
Fortunately PAN has only 2 callbacks.
Just saying. :) I know that this also applies to some HID cases (there
is 'TODO' somewhere).
Regards,
Jakub
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH 7/8] android/tester-ng: Add PAN Enable NAP test case
2014-07-29 12:01 ` [PATCH 7/8] android/tester-ng: Add PAN Enable NAP " Ravi kumar Veeramally
@ 2014-07-29 13:15 ` Tyszkowski Jakub
0 siblings, 0 replies; 13+ messages in thread
From: Tyszkowski Jakub @ 2014-07-29 13:15 UTC (permalink / raw)
To: Ravi kumar Veeramally, linux-bluetooth
Hi Ravi,
On 07/29/2014 02:01 PM, Ravi kumar Veeramally wrote:
> ---
> android/tester-pan.c | 13 +++++++++++++
> 1 file changed, 13 insertions(+)
>
> diff --git a/android/tester-pan.c b/android/tester-pan.c
> index 7b013cc..1acc460 100644
> --- a/android/tester-pan.c
> +++ b/android/tester-pan.c
> @@ -121,6 +121,16 @@ static void pan_enable_panu_action(void)
> schedule_action_verification(step);
> }
>
> +static void pan_enable_nap_action(void)
> +{
> + struct test_data *data = tester_get_data();
> + struct step *step = g_new0(struct step, 1);
> +
> + step->action_status = data->if_pan->enable(BTPAN_ROLE_PANNAP);
> +
> + schedule_action_verification(step);
> +}
> +
> static struct test_case test_cases[] = {
> TEST_CASE_BREDRLE("PAN Init",
> ACTION_SUCCESS(dummy_action, NULL),
> @@ -172,6 +182,9 @@ static struct test_case test_cases[] = {
> TEST_CASE_BREDRLE("PAN Enable PANU - Success",
> ACTION(BT_STATUS_UNSUPPORTED, pan_enable_panu_action, NULL),
> ),
> + TEST_CASE_BREDRLE("PAN Enable NAP - Success",
> + ACTION_SUCCESS(pan_enable_nap_action, NULL),
> + ),
Shouldn't btpan_control_state_callback be verified after the enable?
Snipped from hardware/bt_pan.h:
"The result state of enabl will be returned by
btpan_control_state_callback."
Same applies to the previous case (enable PANU).
> };
>
> struct queue *get_pan_tests(void)
>
Regards,
Jakub
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH 5/8] anrdroid/tester-ng: Add PAN Get Local Role test case
2014-07-29 12:01 ` [PATCH 5/8] anrdroid/tester-ng: Add PAN Get Local Role " Ravi kumar Veeramally
@ 2014-07-29 13:15 ` Grzegorz Kolodziejczyk
0 siblings, 0 replies; 13+ messages in thread
From: Grzegorz Kolodziejczyk @ 2014-07-29 13:15 UTC (permalink / raw)
To: Ravi kumar Veeramally; +Cc: linux-bluetooth
Hi Ravi,
Please correct commit message, there is a typo "anrdroid".
Best regards,
Grzegorz
On 29 July 2014 14:01, Ravi kumar Veeramally
<ravikumar.veeramally@linux.intel.com> wrote:
> ---
> android/tester-pan.c | 34 ++++++++++++++++++++++++++++++++++
> 1 file changed, 34 insertions(+)
>
> diff --git a/android/tester-pan.c b/android/tester-pan.c
> index 5048a43..1db4a85 100644
> --- a/android/tester-pan.c
> +++ b/android/tester-pan.c
> @@ -92,6 +92,25 @@ static void pan_disconnect_action(void)
> schedule_action_verification(step);
> }
>
> +static void pan_get_local_role_action(void)
> +{
> + struct test_data *data = tester_get_data();
> + const uint8_t *pan_addr = hciemu_get_client_bdaddr(data->hciemu);
> + struct step *step = g_new0(struct step, 1);
> + bt_bdaddr_t bdaddr;
> + int role;
> +
> + bdaddr2android((const bdaddr_t *) pan_addr, &bdaddr);
> +
> + role = data->if_pan->get_local_role();
> + if (role == BTPAN_ROLE_PANU)
> + step->action_status = BT_STATUS_SUCCESS;
> + else
> + step->action_status = BT_STATUS_FAIL;
> +
> + schedule_action_verification(step);
> +}
> +
> static struct test_case test_cases[] = {
> TEST_CASE_BREDRLE("PAN Init",
> ACTION_SUCCESS(dummy_action, NULL),
> @@ -125,6 +144,21 @@ static struct test_case test_cases[] = {
> ACTION_SUCCESS(bluetooth_disable_action, NULL),
> CALLBACK_STATE(CB_BT_ADAPTER_STATE_CHANGED, BT_STATE_OFF),
> ),
> + TEST_CASE_BREDRLE("PAN GetLocalRole - Success",
> + ACTION_SUCCESS(bluetooth_enable_action, NULL),
> + CALLBACK_STATE(CB_BT_ADAPTER_STATE_CHANGED, BT_STATE_ON),
> + ACTION_SUCCESS(emu_setup_powered_remote_action, NULL),
> + ACTION_SUCCESS(emu_set_ssp_mode_action, NULL),
> + ACTION_SUCCESS(emu_add_l2cap_server_action, &l2cap_setup_data),
> + ACTION_SUCCESS(pan_connect_action, NULL),
> + CALLBACK_STATE(CB_PAN_CONNECTION_STATE,
> + BTPAN_STATE_CONNECTED),
> + ACTION_SUCCESS(pan_get_local_role_action, NULL),
> + ACTION_SUCCESS(bluetooth_disable_action, NULL),
> + CALLBACK_STATE(CB_PAN_CONNECTION_STATE,
> + BTPAN_STATE_DISCONNECTED),
> + CALLBACK_STATE(CB_BT_ADAPTER_STATE_CHANGED, BT_STATE_OFF),
> + ),
> };
>
> struct queue *get_pan_tests(void)
> --
> 1.9.1
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-bluetooth" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH 0/8] Add PAN test cases
2014-07-29 12:01 [PATCH 0/8] Add PAN test cases Ravi kumar Veeramally
` (7 preceding siblings ...)
2014-07-29 12:01 ` [PATCH 8/8] android/tester-ng: Add PAN Enable None " Ravi kumar Veeramally
@ 2014-07-30 10:06 ` Szymon Janc
8 siblings, 0 replies; 13+ messages in thread
From: Szymon Janc @ 2014-07-30 10:06 UTC (permalink / raw)
To: Ravi kumar Veeramally; +Cc: linux-bluetooth
Hi Ravi,
On Tuesday 29 of July 2014 15:01:24 Ravi kumar Veeramally wrote:
> Ravi kumar Veeramally (8):
> android/tester: Fix memory leak
> android/tester-ng: Add PAN init test case
> android/tester-ng: Add PAN Connect test case
> android/tester-ng: Add PAN Disconnect test case
> anrdroid/tester-ng: Add PAN Get Local Role test case
> android/tester-ng: Add PAN Enable PANU test case
> android/tester-ng: Add PAN Enable NAP test case
> android/tester-ng: Add PAN Enable None test case
>
> android/Makefile.am | 1 +
> android/tester-main.c | 83 +++++++++++++++++++
> android/tester-main.h | 8 ++
> android/tester-pan.c | 219 ++++++++++++++++++++++++++++++++++++++++++++++++++
> 4 files changed, 311 insertions(+)
> create mode 100644 android/tester-pan.c
>
Patch 1/8 is now applied. Other patches need rebase. Also since now old tester
is removed, lets again prefix tester patches with 'android/tester'.
--
Best regards,
Szymon Janc
^ permalink raw reply [flat|nested] 13+ messages in thread
end of thread, other threads:[~2014-07-30 10:06 UTC | newest]
Thread overview: 13+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-07-29 12:01 [PATCH 0/8] Add PAN test cases Ravi kumar Veeramally
2014-07-29 12:01 ` [PATCH 1/8] android/tester: Fix memory leak Ravi kumar Veeramally
2014-07-29 12:01 ` [PATCH 2/8] android/tester-ng: Add PAN init test case Ravi kumar Veeramally
2014-07-29 13:07 ` Tyszkowski Jakub
2014-07-29 12:01 ` [PATCH 3/8] android/tester-ng: Add PAN Connect " Ravi kumar Veeramally
2014-07-29 12:01 ` [PATCH 4/8] android/tester-ng: Add PAN Disconnect " Ravi kumar Veeramally
2014-07-29 12:01 ` [PATCH 5/8] anrdroid/tester-ng: Add PAN Get Local Role " Ravi kumar Veeramally
2014-07-29 13:15 ` Grzegorz Kolodziejczyk
2014-07-29 12:01 ` [PATCH 6/8] android/tester-ng: Add PAN Enable PANU " Ravi kumar Veeramally
2014-07-29 12:01 ` [PATCH 7/8] android/tester-ng: Add PAN Enable NAP " Ravi kumar Veeramally
2014-07-29 13:15 ` Tyszkowski Jakub
2014-07-29 12:01 ` [PATCH 8/8] android/tester-ng: Add PAN Enable None " Ravi kumar Veeramally
2014-07-30 10:06 ` [PATCH 0/8] Add PAN test cases Szymon Janc
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.