2013-03-18 20:53:02

by Bruna Moreira

[permalink] [raw]
Subject: [PATCH BlueZ 0/4] Basic mgmt API tests for discovery procedure

Hi,

This series implements initial basic tests for discovery procedure. The
following tests were added in mgmt-tester utility:
- Start Discovery: success testcase.
- Stop discovery: success, rejected and invalid parameters testcases.

More complex tests (including stop discovery at specific discovery stages) will
be sent in next weeks.

BR,
Bruna Moreira.

Bruna Moreira (4):
tools: Add basic success test for start discovery
tools: Add basic success test for stop discovery
tools: Add basic rejected test for stop discovery
tools: Add basic invalid parameters test for stop discovery

tools/mgmt-tester.c | 116 +++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 116 insertions(+)

--
1.7.9.5



2013-03-19 13:48:00

by Johan Hedberg

[permalink] [raw]
Subject: Re: [PATCH BlueZ 0/4] Basic mgmt API tests for discovery procedure

Hi Bruna,

On Mon, Mar 18, 2013, Bruna Moreira wrote:
> This series implements initial basic tests for discovery procedure. The
> following tests were added in mgmt-tester utility:
> - Start Discovery: success testcase.
> - Stop discovery: success, rejected and invalid parameters testcases.
>
> More complex tests (including stop discovery at specific discovery stages) will
> be sent in next weeks.
>
> BR,
> Bruna Moreira.
>
> Bruna Moreira (4):
> tools: Add basic success test for start discovery
> tools: Add basic success test for stop discovery
> tools: Add basic rejected test for stop discovery
> tools: Add basic invalid parameters test for stop discovery
>
> tools/mgmt-tester.c | 116 +++++++++++++++++++++++++++++++++++++++++++++++++++
> 1 file changed, 116 insertions(+)

All patches in this set have been applied. Thanks.

While you're working on new test cases as well as improving the existing
ones please remember that you also can (and should) test for specific
HCI commands caused by the tests.

Johan

2013-03-18 20:53:06

by Bruna Moreira

[permalink] [raw]
Subject: [PATCH BlueZ 4/4] tools: Add basic invalid parameters test for stop discovery

---
tools/mgmt-tester.c | 13 +++++++++++++
1 file changed, 13 insertions(+)

diff --git a/tools/mgmt-tester.c b/tools/mgmt-tester.c
index 804191e..ac7c01a 100644
--- a/tools/mgmt-tester.c
+++ b/tools/mgmt-tester.c
@@ -1098,6 +1098,7 @@ static const struct generic_data start_discovery_valid_param_test_1 = {
};

static const char stop_discovery_bredrle_param[] = { 0x07 };
+static const char stop_discovery_bredrle_invalid_param[] = { 0x06 };

static const struct generic_data stop_discovery_success_test_1 = {
.send_opcode = MGMT_OP_STOP_DISCOVERY,
@@ -1117,6 +1118,15 @@ static const struct generic_data stop_discovery_rejected_test_1 = {
.expect_len = sizeof(stop_discovery_bredrle_param),
};

+static const struct generic_data stop_discovery_invalid_param_test_1 = {
+ .send_opcode = MGMT_OP_STOP_DISCOVERY,
+ .send_param = stop_discovery_bredrle_invalid_param,
+ .send_len = sizeof(stop_discovery_bredrle_invalid_param),
+ .expect_status = MGMT_STATUS_INVALID_PARAMS,
+ .expect_param = stop_discovery_bredrle_invalid_param,
+ .expect_len = sizeof(stop_discovery_bredrle_invalid_param),
+};
+
static const char set_dev_class_valid_param[] = { 0x01, 0x0c };
static const char set_dev_class_zero_rsp[] = { 0x00, 0x00, 0x00 };
static const char set_dev_class_valid_rsp[] = { 0x0c, 0x01, 0x00 };
@@ -2611,6 +2621,9 @@ int main(int argc, char *argv[])
test_bredrle("Stop Discovery - Rejected 1",
&stop_discovery_rejected_test_1,
setup_le_powered, test_command_generic);
+ test_bredrle("Stop Discovery - Invalid parameters 1",
+ &stop_discovery_invalid_param_test_1,
+ setup_start_discovery, test_command_generic);

test_bredrle("Set Device Class - Success 1",
&set_dev_class_valid_param_test_1,
--
1.7.9.5


2013-03-18 20:53:05

by Bruna Moreira

[permalink] [raw]
Subject: [PATCH BlueZ 3/4] tools: Add basic rejected test for stop discovery

---
tools/mgmt-tester.c | 12 ++++++++++++
1 file changed, 12 insertions(+)

diff --git a/tools/mgmt-tester.c b/tools/mgmt-tester.c
index ce6f75f..804191e 100644
--- a/tools/mgmt-tester.c
+++ b/tools/mgmt-tester.c
@@ -1108,6 +1108,15 @@ static const struct generic_data stop_discovery_success_test_1 = {
.expect_len = sizeof(stop_discovery_bredrle_param),
};

+static const struct generic_data stop_discovery_rejected_test_1 = {
+ .send_opcode = MGMT_OP_STOP_DISCOVERY,
+ .send_param = stop_discovery_bredrle_param,
+ .send_len = sizeof(stop_discovery_bredrle_param),
+ .expect_status = MGMT_STATUS_REJECTED,
+ .expect_param = stop_discovery_bredrle_param,
+ .expect_len = sizeof(stop_discovery_bredrle_param),
+};
+
static const char set_dev_class_valid_param[] = { 0x01, 0x0c };
static const char set_dev_class_zero_rsp[] = { 0x00, 0x00, 0x00 };
static const char set_dev_class_valid_rsp[] = { 0x0c, 0x01, 0x00 };
@@ -2599,6 +2608,9 @@ int main(int argc, char *argv[])
test_bredrle("Stop Discovery - Success 1",
&stop_discovery_success_test_1,
setup_start_discovery, test_command_generic);
+ test_bredrle("Stop Discovery - Rejected 1",
+ &stop_discovery_rejected_test_1,
+ setup_le_powered, test_command_generic);

test_bredrle("Set Device Class - Success 1",
&set_dev_class_valid_param_test_1,
--
1.7.9.5


2013-03-18 20:53:04

by Bruna Moreira

[permalink] [raw]
Subject: [PATCH BlueZ 2/4] tools: Add basic success test for stop discovery

---
tools/mgmt-tester.c | 63 +++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 63 insertions(+)

diff --git a/tools/mgmt-tester.c b/tools/mgmt-tester.c
index 1ecac5a..ce6f75f 100644
--- a/tools/mgmt-tester.c
+++ b/tools/mgmt-tester.c
@@ -1097,6 +1097,17 @@ static const struct generic_data start_discovery_valid_param_test_1 = {
.expect_len = sizeof(start_discovery_bredr_param),
};

+static const char stop_discovery_bredrle_param[] = { 0x07 };
+
+static const struct generic_data stop_discovery_success_test_1 = {
+ .send_opcode = MGMT_OP_STOP_DISCOVERY,
+ .send_param = stop_discovery_bredrle_param,
+ .send_len = sizeof(stop_discovery_bredrle_param),
+ .expect_status = MGMT_STATUS_SUCCESS,
+ .expect_param = stop_discovery_bredrle_param,
+ .expect_len = sizeof(stop_discovery_bredrle_param),
+};
+
static const char set_dev_class_valid_param[] = { 0x01, 0x0c };
static const char set_dev_class_zero_rsp[] = { 0x00, 0x00, 0x00 };
static const char set_dev_class_valid_rsp[] = { 0x0c, 0x01, 0x00 };
@@ -1759,6 +1770,54 @@ static void setup_le_powered(const void *test_data)
setup_powered_callback, NULL, NULL);
}

+static void setup_discovery_callback(uint8_t status, uint16_t length,
+ const void *param, void *user_data)
+{
+ if (status != MGMT_STATUS_SUCCESS) {
+ tester_setup_failed();
+ return;
+ }
+
+ tester_print("Discovery started");
+ tester_setup_complete();
+}
+
+static void setup_start_discovery_callback(uint8_t status, uint16_t length,
+ const void *param, void *user_data)
+{
+ struct test_data *data = tester_get_data();
+ unsigned char disc_param[] = { 0x07 };
+
+ if (status != MGMT_STATUS_SUCCESS) {
+ tester_setup_failed();
+ return;
+ }
+
+ tester_print("Controller powered on");
+
+ mgmt_send(data->mgmt, MGMT_OP_START_DISCOVERY, data->mgmt_index,
+ sizeof(disc_param), disc_param,
+ setup_discovery_callback, NULL, NULL);
+
+ if (option_wait_powered)
+ tester_wait(1, NULL, NULL);
+}
+
+static void setup_start_discovery(const void *test_data)
+{
+ struct test_data *data = tester_get_data();
+ unsigned char param[] = { 0x01 };
+
+ tester_print("Powering on controller (with LE enabled)");
+
+ mgmt_send(data->mgmt, MGMT_OP_SET_LE, data->mgmt_index,
+ sizeof(param), param, NULL, NULL, NULL);
+
+ mgmt_send(data->mgmt, MGMT_OP_SET_POWERED, data->mgmt_index,
+ sizeof(param), param,
+ setup_start_discovery_callback, NULL, NULL);
+}
+
static void setup_ssp_callback(uint8_t status, uint16_t length,
const void *param, void *user_data)
{
@@ -2537,6 +2596,10 @@ int main(int argc, char *argv[])
&start_discovery_valid_param_test_1,
setup_le_powered, test_command_generic);

+ test_bredrle("Stop Discovery - Success 1",
+ &stop_discovery_success_test_1,
+ setup_start_discovery, test_command_generic);
+
test_bredrle("Set Device Class - Success 1",
&set_dev_class_valid_param_test_1,
NULL, test_command_generic);
--
1.7.9.5


2013-03-18 20:53:03

by Bruna Moreira

[permalink] [raw]
Subject: [PATCH BlueZ 1/4] tools: Add basic success test for start discovery

---
tools/mgmt-tester.c | 28 ++++++++++++++++++++++++++++
1 file changed, 28 insertions(+)

diff --git a/tools/mgmt-tester.c b/tools/mgmt-tester.c
index 6343221..1ecac5a 100644
--- a/tools/mgmt-tester.c
+++ b/tools/mgmt-tester.c
@@ -1065,6 +1065,7 @@ static const struct generic_data set_local_name_test_3 = {
static const char start_discovery_invalid_param[] = { 0x00 };
static const char start_discovery_bredr_param[] = { 0x01 };
static const char start_discovery_le_param[] = { 0x06 };
+static const char start_discovery_bredrle_param[] = { 0x07 };

static const struct generic_data start_discovery_not_powered_test_1 = {
.send_opcode = MGMT_OP_START_DISCOVERY,
@@ -1087,6 +1088,15 @@ static const struct generic_data start_discovery_not_supported_test_1 = {
.expect_status = MGMT_STATUS_NOT_SUPPORTED,
};

+static const struct generic_data start_discovery_valid_param_test_1 = {
+ .send_opcode = MGMT_OP_START_DISCOVERY,
+ .send_param = start_discovery_bredrle_param,
+ .send_len = sizeof(start_discovery_bredrle_param),
+ .expect_status = MGMT_STATUS_SUCCESS,
+ .expect_param = start_discovery_bredrle_param,
+ .expect_len = sizeof(start_discovery_bredr_param),
+};
+
static const char set_dev_class_valid_param[] = { 0x01, 0x0c };
static const char set_dev_class_zero_rsp[] = { 0x00, 0x00, 0x00 };
static const char set_dev_class_valid_rsp[] = { 0x0c, 0x01, 0x00 };
@@ -1734,6 +1744,21 @@ static void setup_ssp_powered(const void *test_data)
setup_powered_callback, NULL, NULL);
}

+static void setup_le_powered(const void *test_data)
+{
+ struct test_data *data = tester_get_data();
+ unsigned char param[] = { 0x01 };
+
+ tester_print("Powering on controller (with LE enabled)");
+
+ mgmt_send(data->mgmt, MGMT_OP_SET_LE, data->mgmt_index,
+ sizeof(param), param, NULL, NULL, NULL);
+
+ mgmt_send(data->mgmt, MGMT_OP_SET_POWERED, data->mgmt_index,
+ sizeof(param), param,
+ setup_powered_callback, NULL, NULL);
+}
+
static void setup_ssp_callback(uint8_t status, uint16_t length,
const void *param, void *user_data)
{
@@ -2508,6 +2533,9 @@ int main(int argc, char *argv[])
test_bredrle("Start Discovery - Not supported 1",
&start_discovery_not_supported_test_1,
setup_powered, test_command_generic);
+ test_bredrle("Start Discovery - Success 1",
+ &start_discovery_valid_param_test_1,
+ setup_le_powered, test_command_generic);

test_bredrle("Set Device Class - Success 1",
&set_dev_class_valid_param_test_1,
--
1.7.9.5