dexter has uploaded this change for review. ( 
https://gerrit.osmocom.org/c/libosmo-abis/+/31454 )


Change subject: trau_pcu_ericsson: add testvectors for MCS1 and MCS2
......................................................................

trau_pcu_ericsson: add testvectors for MCS1 and MCS2

Change-Id: I7e7e35930a373c9db74faef24f6c404eb5516278
Related: OS#5198
---
M tests/trau_pcu_ericsson/trau_pcu_ericsson_test.c
M tests/trau_pcu_ericsson/trau_pcu_ericsson_test.ok
2 files changed, 178 insertions(+), 0 deletions(-)



  git pull ssh://gerrit.osmocom.org:29418/libosmo-abis refs/changes/54/31454/1

diff --git a/tests/trau_pcu_ericsson/trau_pcu_ericsson_test.c 
b/tests/trau_pcu_ericsson/trau_pcu_ericsson_test.c
index 6c28269..9e013b6 100644
--- a/tests/trau_pcu_ericsson/trau_pcu_ericsson_test.c
+++ b/tests/trau_pcu_ericsson/trau_pcu_ericsson_test.c
@@ -1249,6 +1249,112 @@
                 * the TRAU frame. */
        };

+       const ubit_t bits_mcs1[] = {
+               0, 0, 0, 0, 0, 0, 0, 0,
+               0, 0, 0, 0, 0, 0, 0, 0,
+               0, 0, 0, 0, 0, 0, 0, 0,
+               0, 0, 0, 0, 0, 0, 0, 0,
+               0, 0, 0, 0, 0, 0, 0, 0,
+               0, 0, 0, 0, 0, 0, 0, 0,
+               0, 0, 0, 0, 0, 0, 0, 0,
+               0, 0, 0, 0, 0, 0, 0, 0,
+               1, 0, 1, 0, 1, 1, 0, 0,
+               0, 1, 1, 1, 1, 1, 1, 1,
+               1, 1, 1, 1, 1, 0, 1, 1,
+               1, 1, 1, 1, 1, 1, 1, 1,
+               0, 0, 1, 1, 1, 1, 1, 1,
+               1, 1, 1, 1, 1, 1, 1, 1,
+               1, 1, 1, 1, 1, 1, 1, 1,
+               1, 1, 1, 1, 1, 1, 1, 1,
+               1, 1, 1, 1, 1, 1, 0, 0,
+               1, 0, 0, 0, 0, 0, 0, 0,
+               0, 0, 1, 0, 0, 0, 0, 0,
+               0, 0, 0, 0, 0, 0, 1, 1,
+               0, 0, 1, 0, 0, 1, 0, 0,
+               0, 0, 0, 0, 0, 0, 0, 0,
+               0, 0, 0, 1, 0, 0, 0, 1,
+               0, 0, 0, 0, 0, 0, 1, 0,
+               1, 1, 0, 0, 0, 0, 0, 0,
+               0, 0, 0, 0, 0, 0, 0, 0,
+               0, 0, 0, 0, 0, 0, 0, 0,
+               0, 0, 0, 0, 0, 0, 0, 0,
+               0, 0, 0, 0, 0, 0, 0, 1,
+               1, 0, 0, 0, 0, 0, 1, 0,
+               1, 1, 0, 0, 0, 0, 0, 0,
+               0, 0, 0, 0, 0, 0, 0, 0,
+               0, 0, 0, 0, 0, 0, 0, 0,
+               0, 0, 0, 0, 0, 0, 0, 0,
+               0, 0, 0, 0, 0, 0, 0, 0,
+               0, 0, 0, 0, 0, 0, 0, 1,
+               0, 1, 1, 0, 0, 0, 0, 0,
+               0, 0, 0, 0, 0, 0, 0, 0,
+               0, 0, 0, 0, 0, 0, 0, 0,
+               1, 0, 1, 0, 0, 0, 0, 0,
+               0, 0, 0, 0, 0, 0, 0, 1,
+               0, 1, 1, 0, 0, 0, 1, 1,
+               1, 0, 1, 0, 1, 1, 1, 1,
+               1, 1, 1, 1, 1, 1, 1, 1,
+               1, 1, 1, 1, 1, 1, 1, 1,
+               /* [...] shortened since decode won't access filler bits after
+                * the TRAU frame. */
+       };
+
+       const ubit_t bits_mcs2[] = {
+               0, 0, 0, 0, 0, 0, 0, 0,
+               0, 0, 0, 0, 0, 0, 0, 0,
+               0, 0, 0, 0, 0, 0, 0, 0,
+               0, 0, 0, 0, 0, 0, 0, 0,
+               0, 0, 0, 0, 0, 0, 0, 0,
+               0, 0, 0, 0, 0, 0, 0, 0,
+               0, 0, 0, 0, 0, 0, 0, 0,
+               0, 0, 0, 0, 0, 0, 0, 0,
+               1, 0, 1, 0, 1, 1, 0, 0,
+               0, 1, 1, 1, 1, 1, 1, 1,
+               1, 1, 1, 1, 1, 0, 1, 1,
+               1, 1, 1, 1, 1, 1, 1, 1,
+               0, 0, 1, 1, 1, 1, 1, 1,
+               1, 1, 1, 1, 1, 1, 1, 1,
+               1, 1, 1, 1, 1, 1, 1, 1,
+               1, 1, 1, 1, 1, 1, 1, 1,
+               1, 1, 1, 1, 1, 1, 0, 0,
+               1, 0, 1, 0, 0, 0, 0, 0,
+               0, 0, 0, 1, 0, 0, 0, 0,
+               0, 0, 0, 0, 0, 1, 0, 1,
+               0, 0, 1, 0, 0, 1, 0, 1,
+               1, 1, 0, 1, 1, 0, 1, 1,
+               0, 1, 0, 0, 0, 1, 0, 0,
+               0, 0, 0, 0, 0, 1, 1, 0,
+               0, 0, 1, 0, 1, 0, 1, 0,
+               0, 0, 0, 0, 0, 0, 0, 1,
+               0, 0, 1, 0, 0, 0, 0, 0,
+               0, 0, 1, 0, 0, 0, 0, 0,
+               0, 0, 1, 0, 0, 0, 0, 0,
+               0, 0, 1, 0, 0, 0, 0, 0,
+               0, 0, 1, 0, 0, 0, 0, 0,
+               1, 0, 0, 0, 1, 1, 0, 0,
+               1, 1, 0, 0, 1, 0, 1, 0,
+               0, 0, 0, 0, 0, 0, 0, 1,
+               0, 1, 0, 1, 1, 0, 0, 0,
+               0, 0, 0, 0, 0, 0, 0, 0,
+               0, 0, 0, 1, 1, 0, 0, 1,
+               1, 1, 1, 0, 1, 1, 1, 0,
+               1, 1, 0, 1, 1, 0, 1, 1,
+               1, 0, 0, 1, 1, 1, 1, 0,
+               1, 1, 1, 1, 0, 0, 1, 1,
+               0, 0, 0, 0, 0, 0, 0, 0,
+               0, 0, 0, 0, 0, 0, 0, 0,
+               0, 0, 0, 0, 0, 0, 0, 1,
+               0, 0, 0, 0, 0, 0, 0, 0,
+               0, 0, 0, 0, 0, 0, 0, 0,
+               0, 0, 0, 0, 0, 0, 0, 0,
+               0, 0, 0, 0, 0, 0, 0, 0,
+               0, 0, 0, 0, 0, 0, 0, 1,
+               1, 1, 1, 1, 1, 1, 1, 1,
+               1, 1, 1, 1, 1, 1, 1, 1,
+               /* [...] shortened since decode won't access filler bits after
+                * the TRAU frame. */
+       };
+
        /* TRAU frame with AB data (noise). */
        const ubit_t bits_ab[] = {
                0, 0, 0, 0, 0, 0, 0, 0,
@@ -1336,6 +1442,40 @@
        printf(" ccu_data_ind.u.data_len=%u\n", frame.u.ccu_data_ind.data_len);
        printf(" ccu_data_ind.data=%s\n", 
osmo_hexdump_nospc(frame.u.ccu_data_ind.data, frame.u.ccu_data_ind.data_len));

+       printf("\n==> %s (MCS1)\n", __func__);
+       rc = er_gprs_trau_frame_decode_64k(&frame, bits_mcs1);
+       OSMO_ASSERT(rc == 0);
+       OSMO_ASSERT(frame.type == ER_GPRS_TRAU_FT_DATA);
+       printf(" ccu_data_ind.tav=%02x\n", frame.u.ccu_data_ind.tav);
+       printf(" ccu_data_ind.dbe=%u\n", frame.u.ccu_data_ind.dbe);
+       printf(" ccu_data_ind.cs_hdr=%u\n", frame.u.ccu_data_ind.cs_hdr);
+       printf(" ccu_data_ind.gprs.rx_lev=%u\n", frame.u.ccu_data_ind.rx_lev);
+       printf(" ccu_data_ind.gprs.est_acc_del_dev=%d\n", 
frame.u.ccu_data_ind.est_acc_del_dev);
+       printf(" ccu_data_ind.u.egprs.mean_bep=%u\n", 
frame.u.ccu_data_ind.u.egprs.mean_bep);
+       printf(" ccu_data_ind.u.egprs.cv_bep=%u\n", 
frame.u.ccu_data_ind.u.egprs.cv_bep);
+       printf(" ccu_data_ind.u.egprs.hdr_good=%u\n", 
frame.u.ccu_data_ind.u.egprs.hdr_good);
+       printf(" ccu_data_ind.u.egprs.data_good[0]=%u\n", 
frame.u.ccu_data_ind.u.egprs.data_good[0]);
+       printf(" ccu_data_ind.u.egprs.data_good[1]=%u\n", 
frame.u.ccu_data_ind.u.egprs.data_good[1]);
+       printf(" ccu_data_ind.u.data_len=%u\n", frame.u.ccu_data_ind.data_len);
+       printf(" ccu_data_ind.data=%s\n", 
osmo_hexdump_nospc(frame.u.ccu_data_ind.data, frame.u.ccu_data_ind.data_len));
+
+       printf("\n==> %s (MCS2)\n", __func__);
+       rc = er_gprs_trau_frame_decode_64k(&frame, bits_mcs2);
+       OSMO_ASSERT(rc == 0);
+       OSMO_ASSERT(frame.type == ER_GPRS_TRAU_FT_DATA);
+       printf(" ccu_data_ind.tav=%02x\n", frame.u.ccu_data_ind.tav);
+       printf(" ccu_data_ind.dbe=%u\n", frame.u.ccu_data_ind.dbe);
+       printf(" ccu_data_ind.cs_hdr=%u\n", frame.u.ccu_data_ind.cs_hdr);
+       printf(" ccu_data_ind.gprs.rx_lev=%u\n", frame.u.ccu_data_ind.rx_lev);
+       printf(" ccu_data_ind.gprs.est_acc_del_dev=%d\n", 
frame.u.ccu_data_ind.est_acc_del_dev);
+       printf(" ccu_data_ind.u.egprs.mean_bep=%u\n", 
frame.u.ccu_data_ind.u.egprs.mean_bep);
+       printf(" ccu_data_ind.u.egprs.cv_bep=%u\n", 
frame.u.ccu_data_ind.u.egprs.cv_bep);
+       printf(" ccu_data_ind.u.egprs.hdr_good=%u\n", 
frame.u.ccu_data_ind.u.egprs.hdr_good);
+       printf(" ccu_data_ind.u.egprs.data_good[0]=%u\n", 
frame.u.ccu_data_ind.u.egprs.data_good[0]);
+       printf(" ccu_data_ind.u.egprs.data_good[1]=%u\n", 
frame.u.ccu_data_ind.u.egprs.data_good[1]);
+       printf(" ccu_data_ind.u.data_len=%u\n", frame.u.ccu_data_ind.data_len);
+       printf(" ccu_data_ind.data=%s\n", 
osmo_hexdump_nospc(frame.u.ccu_data_ind.data, frame.u.ccu_data_ind.data_len));
+
        printf("\n==> %s (AB)\n", __func__);
        rc = er_gprs_trau_frame_decode_64k(&frame, bits_ab);
        OSMO_ASSERT(rc == 0);
diff --git a/tests/trau_pcu_ericsson/trau_pcu_ericsson_test.ok 
b/tests/trau_pcu_ericsson/trau_pcu_ericsson_test.ok
index 3d9666c..d15b0b2 100644
--- a/tests/trau_pcu_ericsson/trau_pcu_ericsson_test.ok
+++ b/tests/trau_pcu_ericsson/trau_pcu_ericsson_test.ok
@@ -2539,6 +2539,34 @@
  ccu_data_ind.u.data_len=34
  
ccu_data_ind.data=00010449d09d5c5e676f6f676c6503636f6d0000010001881c802b2b2b2b2b2b2b00

+==> er_gprs_trau_frame_decode_64k_FT_DATA_test (MCS1)
+ ccu_data_ind.tav=00
+ ccu_data_ind.dbe=0
+ ccu_data_ind.cs_hdr=7
+ ccu_data_ind.gprs.rx_lev=63
+ ccu_data_ind.gprs.est_acc_del_dev=0
+ ccu_data_ind.u.egprs.mean_bep=7
+ ccu_data_ind.u.egprs.cv_bep=0
+ ccu_data_ind.u.egprs.hdr_good=1
+ ccu_data_ind.u.egprs.data_good[0]=1
+ ccu_data_ind.u.egprs.data_good[1]=0
+ ccu_data_ind.u.data_len=27
+ ccu_data_ind.data=041000930020020d00000000060d00000000001a000014001ad701
+
+==> er_gprs_trau_frame_decode_64k_FT_DATA_test (MCS2)
+ ccu_data_ind.tav=00
+ ccu_data_ind.dbe=0
+ ccu_data_ind.cs_hdr=7
+ ccu_data_ind.gprs.rx_lev=63
+ ccu_data_ind.gprs.est_acc_del_dev=0
+ ccu_data_ind.u.egprs.mean_bep=7
+ ccu_data_ind.u.egprs.cv_bep=0
+ ccu_data_ind.u.egprs.hdr_good=1
+ ccu_data_ind.u.egprs.data_good[0]=1
+ ccu_data_ind.u.egprs.data_good[1]=0
+ ccu_data_ind.u.data_len=33
+ 
ccu_data_ind.data=142080926e8b8051011210101010c44c016a0060de6de73d030000020000000000
+
 ==> er_gprs_trau_frame_decode_64k_FT_DATA_test (AB)
  ccu_data_ind.tav=01
  ccu_data_ind.dbe=0

--
To view, visit https://gerrit.osmocom.org/c/libosmo-abis/+/31454
To unsubscribe, or for help writing mail filters, visit 
https://gerrit.osmocom.org/settings

Gerrit-Project: libosmo-abis
Gerrit-Branch: master
Gerrit-Change-Id: I7e7e35930a373c9db74faef24f6c404eb5516278
Gerrit-Change-Number: 31454
Gerrit-PatchSet: 1
Gerrit-Owner: dexter <[email protected]>
Gerrit-MessageType: newchange

Reply via email to