aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/tools
diff options
context:
space:
mode:
authorPauli Virtanen <pav@iki.fi>2024-04-04 19:21:23 +0300
committerLuiz Augusto von Dentz <luiz.von.dentz@intel.com>2024-04-04 14:46:34 -0400
commit4fe4fda73be1f649b212dc594e3631a51b84afff (patch)
tree9440386c6e9cb1fbe44d9f13526414f5728d3519 /tools
parent9b21ce6f7956db0343842dfea1f34586b0ec59d3 (diff)
l2cap-tester: add tests for LE Client read/write/tx-timestamping
Add tests: L2CAP LE Client - Read Success L2CAP LE Client - Write Success L2CAP LE Client - TX Timestamping
Diffstat (limited to 'tools')
-rw-r--r--tools/l2cap-tester.c41
1 files changed, 40 insertions, 1 deletions
diff --git a/tools/l2cap-tester.c b/tools/l2cap-tester.c
index 375ff767b1..02d1571d23 100644
--- a/tools/l2cap-tester.c
+++ b/tools/l2cap-tester.c
@@ -487,6 +487,30 @@ static const struct l2cap_data le_client_connect_timeout_test_1 = {
.timeout = 1,
};
+static const struct l2cap_data le_client_connect_read_success_test = {
+ .client_psm = 0x0080,
+ .server_psm = 0x0080,
+ .read_data = l2_data,
+ .data_len = sizeof(l2_data),
+};
+
+static const struct l2cap_data le_client_connect_write_success_test = {
+ .client_psm = 0x0080,
+ .server_psm = 0x0080,
+ .write_data = l2_data,
+ .data_len = sizeof(l2_data),
+};
+
+static const struct l2cap_data le_client_connect_tx_timestamping_test = {
+ .client_psm = 0x0080,
+ .server_psm = 0x0080,
+ .write_data = l2_data,
+ .data_len = sizeof(l2_data),
+ .so_timestamping = (SOF_TIMESTAMPING_SOFTWARE |
+ SOF_TIMESTAMPING_OPT_ID |
+ SOF_TIMESTAMPING_TX_SOFTWARE),
+};
+
static const struct l2cap_data le_client_connect_adv_success_test_1 = {
.client_psm = 0x0080,
.server_psm = 0x0080,
@@ -1082,6 +1106,8 @@ static gboolean client_received_data(GIOChannel *io, GIOCondition cond,
char buf[1024];
int sk;
+ tester_debug("Client received data");
+
sk = g_io_channel_unix_get_fd(io);
if (read(sk, buf, l2data->data_len) != l2data->data_len) {
tester_warn("Unable to read %u bytes", l2data->data_len);
@@ -1126,6 +1152,8 @@ static void bthost_received_data(const void *buf, uint16_t len,
struct test_data *data = tester_get_data();
const struct l2cap_data *l2data = data->test_data;
+ tester_debug("BTHost received data: %u bytes", len);
+
--data->step;
if (len != l2data->data_len) {
@@ -1314,7 +1342,7 @@ static gboolean l2cap_connect_cb(GIOChannel *io, GIOCondition cond,
goto failed;
}
- tester_print("Successfully connected");
+ tester_print("Successfully connected to CID 0x%04x", data->dcid);
if (!check_mtu(data, sk)) {
tester_test_failed();
@@ -1506,6 +1534,8 @@ static void client_l2cap_connect_cb(uint16_t handle, uint16_t cid,
{
struct test_data *data = user_data;
+ tester_debug("Client connect CID 0x%04x handle 0x%04x", cid, handle);
+
data->dcid = cid;
data->handle = handle;
}
@@ -2431,6 +2461,15 @@ int main(int argc, char *argv[])
test_l2cap_le("L2CAP LE Client - Timeout",
&le_client_connect_timeout_test_1,
setup_powered_client, test_connect_timeout);
+ test_l2cap_le("L2CAP LE Client - Read Success",
+ &le_client_connect_read_success_test,
+ setup_powered_client, test_connect);
+ test_l2cap_le("L2CAP LE Client - Write Success",
+ &le_client_connect_write_success_test,
+ setup_powered_client, test_connect);
+ test_l2cap_le("L2CAP LE Client - TX Timestamping",
+ &le_client_connect_tx_timestamping_test,
+ setup_powered_client, test_connect);
test_l2cap_le("L2CAP LE Client, Direct Advertising - Success",
&le_client_connect_adv_success_test_1,
setup_powered_client, test_connect);