[PATCH v2 BlueZ 7/7] unit/test-eir: Added tests for connection interval

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



This patch incorporates some unit-tests for the Slave Connection
Interval Range AD and also does some minor cleanups.
---
 unit/test-eir.c | 26 +++++++++++++++++++++++---
 1 file changed, 23 insertions(+), 3 deletions(-)

diff --git a/unit/test-eir.c b/unit/test-eir.c
index 421d0db13a41..e9d0d60fdd39 100644
--- a/unit/test-eir.c
+++ b/unit/test-eir.c
@@ -44,6 +44,7 @@ struct test_data {
 	bool name_complete;
 	int8_t tx_power;
 	const char **uuid;
+	uint16_t min_interval, max_interval;
 };
 
 static const unsigned char macbookair_data[] = {
@@ -508,6 +509,8 @@ static const struct test_data citizen_adv_test = {
 	.name = "Eco-Drive Proximity",
 	.name_complete = true,
 	.tx_power = 127,
+	.min_interval = 383,
+	.max_interval = 399,
 };
 
 static const unsigned char citizen_scan_data[] = {
@@ -565,6 +568,8 @@ static void test_parsing(gconstpointer data)
 	tester_debug("Flags: %d", eir.flags);
 	tester_debug("Name: %s", eir.name);
 	tester_debug("TX power: %d", eir.tx_power);
+	tester_debug("Min/Max connection interval: %u/%u",
+		eir.le_min_conn_interval, eir.le_max_conn_interval);
 
 	for (list = eir.services; list; list = list->next) {
 		char *uuid_str = list->data;
@@ -581,7 +586,9 @@ static void test_parsing(gconstpointer data)
 		g_assert(eir.name == NULL);
 	}
 
-	g_assert(eir.tx_power == test->tx_power);
+	g_assert_cmpint(eir.tx_power, == ,test->tx_power);
+	g_assert_cmpuint(eir.le_min_conn_interval, ==, test->min_interval);
+	g_assert_cmpuint(eir.le_max_conn_interval, ==, test->max_interval);
 
 	if (test->uuid) {
 		GSList *list;
@@ -654,6 +661,18 @@ static const struct test_data uri_beacon_test = {
 	.uuid = uri_beacon_uuid,
 };
 
+static const unsigned char conn_interval_data[] = {
+	0x05, 0x12, 0x03, 0x00, 0x0f, 0x00
+};
+
+static const struct test_data conn_interval_test = {
+	.eir_data = conn_interval_data,
+	.eir_size = sizeof(conn_interval_data),
+	.tx_power = 127,
+	.min_interval = 3,
+	.max_interval = 15,
+};
+
 int main(int argc, char *argv[])
 {
 	tester_init(&argc, &argv);
@@ -677,8 +696,9 @@ int main(int argc, char *argv[])
 	tester_add("/ad/citizen1", &citizen_adv_test, NULL, test_parsing, NULL);
 	tester_add("/ad/citizen2", &citizen_scan_test, NULL, test_parsing,
 									NULL);
-	tester_add("ad/g-tag", &gigaset_gtag_test, NULL, test_parsing, NULL);
-	tester_add("ad/uri-beacon", &uri_beacon_test, NULL, test_parsing, NULL);
+	tester_add("/ad/g-tag", &gigaset_gtag_test, NULL, test_parsing, NULL);
+	tester_add("/ad/uri-beacon", &uri_beacon_test, NULL, test_parsing, NULL);
+	tester_add("/ad/conn-interval", &conn_interval_test, NULL, test_parsing, NULL);
 
 	return tester_run();
 }
-- 
2.11.1

--
To unsubscribe from this list: send the line "unsubscribe linux-bluetooth" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Bluez Devel]     [Linux Wireless Networking]     [Linux Wireless Personal Area Networking]     [Linux ATH6KL]     [Linux USB Devel]     [Linux Media Drivers]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Big List of Linux Books]

  Powered by Linux