Bluetooth: tester: Add Core Unregister Service command
This adds stubs for Core Unregister Service command implementation.
It will be used to clean up the stack and tester after test case
execution.
Signed-off-by: Mariusz Skamra <mariusz.skamra@codecoup.pl>
diff --git a/tests/bluetooth/tester/src/bttester.c b/tests/bluetooth/tester/src/bttester.c
index dd6c19a..46cd498 100644
--- a/tests/bluetooth/tester/src/bttester.c
+++ b/tests/bluetooth/tester/src/bttester.c
@@ -46,6 +46,7 @@
tester_set_bit(buf, CORE_READ_SUPPORTED_COMMANDS);
tester_set_bit(buf, CORE_READ_SUPPORTED_SERVICES);
tester_set_bit(buf, CORE_REGISTER_SERVICE);
+ tester_set_bit(buf, CORE_UNREGISTER_SERVICE);
tester_send(BTP_SERVICE_ID_CORE, CORE_READ_SUPPORTED_COMMANDS,
BTP_INDEX_NONE, (u8_t *) rp, sizeof(buf));
@@ -108,6 +109,37 @@
status);
}
+static void unregister_service(u8_t *data, u16_t len)
+{
+ struct core_unregister_service_cmd *cmd = (void *) data;
+ u8_t status;
+
+ switch (cmd->id) {
+ case BTP_SERVICE_ID_GAP:
+ status = tester_unregister_gap();
+ break;
+ case BTP_SERVICE_ID_GATT:
+ status = tester_unregister_gatt();
+ break;
+#if defined(CONFIG_BT_L2CAP_DYNAMIC_CHANNEL)
+ case BTP_SERVICE_ID_L2CAP:
+ status = tester_unregister_l2cap();
+ break;
+#endif /* CONFIG_BT_L2CAP_DYNAMIC_CHANNEL */
+#if defined(CONFIG_BT_MESH)
+ case BTP_SERVICE_ID_MESH:
+ status = tester_unregister_mesh();
+ break;
+#endif /* CONFIG_BT_MESH */
+ default:
+ status = BTP_STATUS_FAILED;
+ break;
+ }
+
+ tester_rsp(BTP_SERVICE_ID_CORE, CORE_UNREGISTER_SERVICE, BTP_INDEX_NONE,
+ status);
+}
+
static void handle_core(u8_t opcode, u8_t index, u8_t *data,
u16_t len)
{
@@ -126,6 +158,9 @@
case CORE_REGISTER_SERVICE:
register_service(data, len);
return;
+ case CORE_UNREGISTER_SERVICE:
+ unregister_service(data, len);
+ return;
default:
tester_rsp(BTP_SERVICE_ID_CORE, opcode, BTP_INDEX_NONE,
BTP_STATUS_UNKNOWN_CMD);
diff --git a/tests/bluetooth/tester/src/bttester.h b/tests/bluetooth/tester/src/bttester.h
index eb58a0a..3e59a92 100644
--- a/tests/bluetooth/tester/src/bttester.h
+++ b/tests/bluetooth/tester/src/bttester.h
@@ -57,6 +57,11 @@
u8_t id;
} __packed;
+#define CORE_UNREGISTER_SERVICE 0x04
+struct core_unregister_service_cmd {
+ u8_t id;
+} __packed;
+
/* events */
#define CORE_EV_IUT_READY 0x80
@@ -791,19 +796,23 @@
size_t len);
u8_t tester_init_gap(void);
+u8_t tester_unregister_gap(void);
void tester_handle_gap(u8_t opcode, u8_t index, u8_t *data,
u16_t len);
u8_t tester_init_gatt(void);
+u8_t tester_unregister_gatt(void);
void tester_handle_gatt(u8_t opcode, u8_t index, u8_t *data,
u16_t len);
#if defined(CONFIG_BT_L2CAP_DYNAMIC_CHANNEL)
u8_t tester_init_l2cap(void);
+u8_t tester_unregister_l2cap(void);
void tester_handle_l2cap(u8_t opcode, u8_t index, u8_t *data,
u16_t len);
#endif /* CONFIG_BT_L2CAP_DYNAMIC_CHANNEL */
#if defined(CONFIG_BT_MESH)
u8_t tester_init_mesh(void);
+u8_t tester_unregister_mesh(void);
void tester_handle_mesh(u8_t opcode, u8_t index, u8_t *data, u16_t len);
#endif /* CONFIG_BT_MESH */
diff --git a/tests/bluetooth/tester/src/gap.c b/tests/bluetooth/tester/src/gap.c
index a7e372b..0ee6488 100644
--- a/tests/bluetooth/tester/src/gap.c
+++ b/tests/bluetooth/tester/src/gap.c
@@ -742,3 +742,8 @@
return BTP_STATUS_SUCCESS;
}
+
+u8_t tester_unregister_gap(void)
+{
+ return BTP_STATUS_SUCCESS;
+}
diff --git a/tests/bluetooth/tester/src/gatt.c b/tests/bluetooth/tester/src/gatt.c
index aeb609f..96847eb 100644
--- a/tests/bluetooth/tester/src/gatt.c
+++ b/tests/bluetooth/tester/src/gatt.c
@@ -1940,3 +1940,8 @@
return BTP_STATUS_SUCCESS;
}
+
+u8_t tester_unregister_gatt(void)
+{
+ return BTP_STATUS_SUCCESS;
+}
diff --git a/tests/bluetooth/tester/src/l2cap.c b/tests/bluetooth/tester/src/l2cap.c
index 7697619..ac0ed63 100644
--- a/tests/bluetooth/tester/src/l2cap.c
+++ b/tests/bluetooth/tester/src/l2cap.c
@@ -350,3 +350,8 @@
{
return BTP_STATUS_SUCCESS;
}
+
+u8_t tester_unregister_l2cap(void)
+{
+ return BTP_STATUS_SUCCESS;
+}
diff --git a/tests/bluetooth/tester/src/mesh.c b/tests/bluetooth/tester/src/mesh.c
index aff3922..b277e3d 100644
--- a/tests/bluetooth/tester/src/mesh.c
+++ b/tests/bluetooth/tester/src/mesh.c
@@ -695,3 +695,8 @@
return BTP_STATUS_SUCCESS;
}
+
+u8_t tester_unregister_mesh(void)
+{
+ return BTP_STATUS_SUCCESS;
+}