diff mbox series

[BlueZ,3/3] test-bap: Add Broadcast Sink STR MBIS tests

Message ID 20240521105515.103972-4-iulia.tanasescu@nxp.com
State New
Headers show
Series test-bap: Add Broadcast Sink STR MBIS tests | expand

Commit Message

Iulia Tanasescu May 21, 2024, 10:55 a.m. UTC
4.14.4 Broadcast Sink Receives Audio Data Over Multiple BISes (page 193):

    Test Purpose:
    Verify that a Broadcast Sink IUT can receive audio data over
    multiple BISes from a Broadcast Source. The verification is
    performed for each set of parameters in turn.

    Test Case Configuration:
    BAP/BSNK/STR/BV-18-C [BSNK, Multiple BISes, LC3 8_1]
    BAP/BSNK/STR/BV-19-C [BSNK, Multiple BISes, LC3 8_2]
    BAP/BSNK/STR/BV-20-C [BSNK, Multiple BISes, LC3 16_1]
    BAP/BSNK/STR/BV-21-C [BSNK, Multiple BISes, LC3 16_2]
    BAP/BSNK/STR/BV-22-C [BSNK, Multiple BISes, LC3 24_1]
    BAP/BSNK/STR/BV-23-C [BSNK, Multiple BISes, LC3 24_2]
    BAP/BSNK/STR/BV-24-C [BSNK, Multiple BISes, LC3 32_1]
    BAP/BSNK/STR/BV-25-C [BSNK, Multiple BISes, LC3 32_2]
    BAP/BSNK/STR/BV-26-C [BSNK, Multiple BISes, LC3 44.1_1]
    BAP/BSNK/STR/BV-27-C [BSNK, Multiple BISes, LC3 44.1_2]
    BAP/BSNK/STR/BV-28-C [BSNK, Multiple BISes, LC3 48_1]
    BAP/BSNK/STR/BV-29-C [BSNK, Multiple BISes, LC3 48_2]
    BAP/BSNK/STR/BV-30-C [BSNK, Multiple BISes, LC3 48_3]
    BAP/BSNK/STR/BV-31-C [BSNK, Multiple BISes, LC3 48_4]
    BAP/BSNK/STR/BV-32-C [BSNK, Multiple BISes, LC3 48_5]
    BAP/BSNK/STR/BV-33-C [BSNK, Multiple BISes, LC3 48_6]
    BAP/BSNK/STR/BV-34-C [BSNK, Multiple BISes, VS]

    Pass verdict:
    The IUT synchronizes to the Lower Tester (the Link Layer
    receives a BIS Data PDU). The host on the IUT receives an
    LE BIG Sync Established event.

    If the Codec ID is LC3, the IUT receives encoded LC3 audio
    data in BIS Data PDUs on each synchronized BIS. The audio
    data is formatted using the LC3 Media Packet format.

    If the Codec ID is a vendor-specific Codec ID, the IUT receives
    BIS Data PDUs on each synchronized BIS. The parameters included
    in the Codec_Specific_Configuration data are as defined in
    TSPX_VS_Codec_Specific_Configuration.

    If the Codec ID is LC3, each parameter included in
    Codec_Specific_Configuration data is formatted in an LTV structure
    with the length, type, and value specified in Table 4.85.

Test Summary
------------
BAP/BSNK/STR/BV-18-C [BSNK, Multiple BISes, LC3 8_1]    Passed
BAP/BSNK/STR/BV-19-C [BSNK, Multiple BISes, LC3 8_2]    Passed
BAP/BSNK/STR/BV-20-C [BSNK, Multiple BISes, LC3 16_1]   Passed
BAP/BSNK/STR/BV-21-C [BSNK, Multiple BISes, LC3 16_2]   Passed
BAP/BSNK/STR/BV-22-C [BSNK, Multiple BISes, LC3 24_1]   Passed
BAP/BSNK/STR/BV-23-C [BSNK, Multiple BISes, LC3 24_2]   Passed
BAP/BSNK/STR/BV-24-C [BSNK, Multiple BISes, LC3 32_1]   Passed
BAP/BSNK/STR/BV-25-C [BSNK, Multiple BISes, LC3 32_2]   Passed
BAP/BSNK/STR/BV-26-C [BSNK, Multiple BISes, LC3 44.1_1] Passed
BAP/BSNK/STR/BV-27-C [BSNK, Multiple BISes, LC3 44.1_2] Passed
BAP/BSNK/STR/BV-28-C [BSNK, Multiple BISes, LC3 48_1]   Passed
BAP/BSNK/STR/BV-29-C [BSNK, Multiple BISes, LC3 48_2]   Passed
BAP/BSNK/STR/BV-30-C [BSNK, Multiple BISes, LC3 48_3]   Passed
BAP/BSNK/STR/BV-31-C [BSNK, Multiple BISes, LC3 48_4]   Passed
BAP/BSNK/STR/BV-32-C [BSNK, Multiple BISes, LC3 48_5]   Passed
BAP/BSNK/STR/BV-33-C [BSNK, Multiple BISes, LC3 48_6]   Passed
BAP/BSNK/STR/BV-34-C [BSNK, Multiple BISes, VS]         Passed
---
 unit/test-bap.c | 188 ++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 188 insertions(+)
diff mbox series

Patch

diff --git a/unit/test-bap.c b/unit/test-bap.c
index 38a9f5c12..5bbf375cd 100644
--- a/unit/test-bap.c
+++ b/unit/test-bap.c
@@ -6564,6 +6564,143 @@  static struct test_config cfg_bsnk_str_vs = {
 	.num_str = 1,
 };
 
+static struct test_config cfg_bsnk_str_8_1_mbis = {
+	.cc = LC3_CONFIG_8_1,
+	.qos = QOS_BCAST,
+	.snk = true,
+	.state_func = bsnk_state_str,
+	.num_str = 2,
+};
+
+static struct test_config cfg_bsnk_str_8_2_mbis = {
+	.cc = LC3_CONFIG_8_2,
+	.qos = QOS_BCAST,
+	.snk = true,
+	.state_func = bsnk_state_str,
+	.num_str = 2,
+};
+
+static struct test_config cfg_bsnk_str_16_1_mbis = {
+	.cc = LC3_CONFIG_16_1,
+	.qos = QOS_BCAST,
+	.snk = true,
+	.state_func = bsnk_state_str,
+	.num_str = 2,
+};
+
+static struct test_config cfg_bsnk_str_16_2_mbis = {
+	.cc = LC3_CONFIG_16_2,
+	.qos = QOS_BCAST,
+	.snk = true,
+	.state_func = bsnk_state_str,
+	.num_str = 2,
+};
+
+static struct test_config cfg_bsnk_str_24_1_mbis = {
+	.cc = LC3_CONFIG_24_1,
+	.qos = QOS_BCAST,
+	.snk = true,
+	.state_func = bsnk_state_str,
+	.num_str = 2,
+};
+
+static struct test_config cfg_bsnk_str_24_2_mbis = {
+	.cc = LC3_CONFIG_24_2,
+	.qos = QOS_BCAST,
+	.snk = true,
+	.state_func = bsnk_state_str,
+	.num_str = 2,
+};
+
+static struct test_config cfg_bsnk_str_32_1_mbis = {
+	.cc = LC3_CONFIG_32_1,
+	.qos = QOS_BCAST,
+	.snk = true,
+	.state_func = bsnk_state_str,
+	.num_str = 2,
+};
+
+static struct test_config cfg_bsnk_str_32_2_mbis = {
+	.cc = LC3_CONFIG_32_2,
+	.qos = QOS_BCAST,
+	.snk = true,
+	.state_func = bsnk_state_str,
+	.num_str = 2,
+};
+
+static struct test_config cfg_bsnk_str_44_1_mbis = {
+	.cc = LC3_CONFIG_44_1,
+	.qos = QOS_BCAST,
+	.snk = true,
+	.state_func = bsnk_state_str,
+	.num_str = 2,
+};
+
+static struct test_config cfg_bsnk_str_44_2_mbis = {
+	.cc = LC3_CONFIG_44_2,
+	.qos = QOS_BCAST,
+	.snk = true,
+	.state_func = bsnk_state_str,
+	.num_str = 2,
+};
+
+static struct test_config cfg_bsnk_str_48_1_mbis = {
+	.cc = LC3_CONFIG_48_1,
+	.qos = QOS_BCAST,
+	.snk = true,
+	.state_func = bsnk_state_str,
+	.num_str = 2,
+};
+
+static struct test_config cfg_bsnk_str_48_2_mbis = {
+	.cc = LC3_CONFIG_48_2,
+	.qos = QOS_BCAST,
+	.snk = true,
+	.state_func = bsnk_state_str,
+	.num_str = 2,
+};
+
+static struct test_config cfg_bsnk_str_48_3_mbis = {
+	.cc = LC3_CONFIG_48_3,
+	.qos = QOS_BCAST,
+	.snk = true,
+	.state_func = bsnk_state_str,
+	.num_str = 2,
+};
+
+static struct test_config cfg_bsnk_str_48_4_mbis = {
+	.cc = LC3_CONFIG_48_4,
+	.qos = QOS_BCAST,
+	.snk = true,
+	.state_func = bsnk_state_str,
+	.num_str = 2,
+};
+
+static struct test_config cfg_bsnk_str_48_5_mbis = {
+	.cc = LC3_CONFIG_48_5,
+	.qos = QOS_BCAST,
+	.snk = true,
+	.state_func = bsnk_state_str,
+	.num_str = 2,
+};
+
+static struct test_config cfg_bsnk_str_48_6_mbis = {
+	.cc = LC3_CONFIG_48_6,
+	.qos = QOS_BCAST,
+	.snk = true,
+	.state_func = bsnk_state_str,
+	.num_str = 2,
+};
+
+static struct test_config cfg_bsnk_str_vs_mbis = {
+	.cc = UTIL_IOV_INIT(VS_CC),
+	.qos = QOS_BCAST,
+	.snk = true,
+	.vs = true,
+	.state_func = bsnk_state_str,
+	.num_str = 2,
+};
+
 static void test_bsnk_str(void)
 {
 	define_test("BAP/BSNK/STR/BV-01-C [BSNK, LC3 8_1]",
@@ -6616,6 +6753,57 @@  static void test_bsnk_str(void)
 
 	define_test("BAP/BSNK/STR/BV-17-C [BSNK, VS]",
 		NULL, test_bcast, &cfg_bsnk_str_vs, IOV_NULL);
+
+	define_test("BAP/BSNK/STR/BV-18-C [BSNK, Multiple BISes, LC3 8_1]",
+		NULL, test_bcast, &cfg_bsnk_str_8_1_mbis, IOV_NULL);
+
+	define_test("BAP/BSNK/STR/BV-19-C [BSNK, Multiple BISes, LC3 8_2]",
+		NULL, test_bcast, &cfg_bsnk_str_8_2_mbis, IOV_NULL);
+
+	define_test("BAP/BSNK/STR/BV-20-C [BSNK, Multiple BISes, LC3 16_1]",
+		NULL, test_bcast, &cfg_bsnk_str_16_1_mbis, IOV_NULL);
+
+	define_test("BAP/BSNK/STR/BV-21-C [BSNK, Multiple BISes, LC3 16_2]",
+		NULL, test_bcast, &cfg_bsnk_str_16_2_mbis, IOV_NULL);
+
+	define_test("BAP/BSNK/STR/BV-22-C [BSNK, Multiple BISes, LC3 24_1]",
+		NULL, test_bcast, &cfg_bsnk_str_24_1_mbis, IOV_NULL);
+
+	define_test("BAP/BSNK/STR/BV-23-C [BSNK, Multiple BISes, LC3 24_2]",
+		NULL, test_bcast, &cfg_bsnk_str_24_2_mbis, IOV_NULL);
+
+	define_test("BAP/BSNK/STR/BV-24-C [BSNK, Multiple BISes, LC3 32_1]",
+		NULL, test_bcast, &cfg_bsnk_str_32_1_mbis, IOV_NULL);
+
+	define_test("BAP/BSNK/STR/BV-25-C [BSNK, Multiple BISes, LC3 32_2]",
+		NULL, test_bcast, &cfg_bsnk_str_32_2_mbis, IOV_NULL);
+
+	define_test("BAP/BSNK/STR/BV-26-C [BSNK, Multiple BISes, LC3 44.1_1]",
+		NULL, test_bcast, &cfg_bsnk_str_44_1_mbis, IOV_NULL);
+
+	define_test("BAP/BSNK/STR/BV-27-C [BSNK, Multiple BISes, LC3 44.1_2]",
+		NULL, test_bcast, &cfg_bsnk_str_44_2_mbis, IOV_NULL);
+
+	define_test("BAP/BSNK/STR/BV-28-C [BSNK, Multiple BISes, LC3 48_1]",
+		NULL, test_bcast, &cfg_bsnk_str_48_1_mbis, IOV_NULL);
+
+	define_test("BAP/BSNK/STR/BV-29-C [BSNK, Multiple BISes, LC3 48_2]",
+		NULL, test_bcast, &cfg_bsnk_str_48_2_mbis, IOV_NULL);
+
+	define_test("BAP/BSNK/STR/BV-30-C [BSNK, Multiple BISes, LC3 48_3]",
+		NULL, test_bcast, &cfg_bsnk_str_48_3_mbis, IOV_NULL);
+
+	define_test("BAP/BSNK/STR/BV-31-C [BSNK, Multiple BISes, LC3 48_4]",
+		NULL, test_bcast, &cfg_bsnk_str_48_4_mbis, IOV_NULL);
+
+	define_test("BAP/BSNK/STR/BV-32-C [BSNK, Multiple BISes, LC3 48_5]",
+		NULL, test_bcast, &cfg_bsnk_str_48_5_mbis, IOV_NULL);
+
+	define_test("BAP/BSNK/STR/BV-33-C [BSNK, Multiple BISes, LC3 48_6]",
+		NULL, test_bcast, &cfg_bsnk_str_48_6_mbis, IOV_NULL);
+
+	define_test("BAP/BSNK/STR/BV-34-C [BSNK, Multiple BISes, VS]",
+		NULL, test_bcast, &cfg_bsnk_str_vs_mbis, IOV_NULL);
 }
 
 int main(int argc, char *argv[])