Review at  https://gerrit.osmocom.org/6662

gsm0408_test: add test cases for MNC with leading zeros

Change-Id: I9b387e09293a6bbef84b9620ccf21ee2f9ec751c
---
M tests/gsm0408/gsm0408_test.c
M tests/gsm0408/gsm0408_test.ok
2 files changed, 149 insertions(+), 0 deletions(-)


  git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/62/6662/1

diff --git a/tests/gsm0408/gsm0408_test.c b/tests/gsm0408/gsm0408_test.c
index c40c643..2591442 100644
--- a/tests/gsm0408/gsm0408_test.c
+++ b/tests/gsm0408/gsm0408_test.c
@@ -233,6 +233,16 @@
                .mnc = 0,
                .lac = 0,
                .rac = 0,
+               .mnc_3_digits = false,
+               /* expecting 000-00, BCD = 00 f0 00 */
+       },
+       {
+               .mcc = 0,
+               .mnc = 0,
+               .lac = 0,
+               .rac = 0,
+               .mnc_3_digits = true,
+               /* expecting 000-000, BCD = 00 00 00 */
        },
        {
                .mcc = 999,
@@ -240,6 +250,54 @@
                .lac = 65535,
                .rac = 255,
        },
+       {
+               .mcc = 1,
+               .mnc = 2,
+               .lac = 23,
+               .rac = 42,
+               .mnc_3_digits = false,
+               /* expecting 001-02, BCD = 00 f1 20 */
+       },
+       {
+               .mcc = 1,
+               .mnc = 2,
+               .lac = 23,
+               .rac = 42,
+               .mnc_3_digits = true,
+               /* expecting 001-002, BCD = 00 21 00 */
+       },
+       {
+               .mcc = 12,
+               .mnc = 34,
+               .lac = 56,
+               .rac = 78,
+               .mnc_3_digits = false,
+               /* expecting 012-34, BCD = 10 f2 43 */
+       },
+       {
+               .mcc = 12,
+               .mnc = 34,
+               .lac = 23,
+               .rac = 42,
+               .mnc_3_digits = true,
+               /* expecting 012-034, BCD = 10 42 30 */
+       },
+       {
+               .mcc = 123,
+               .mnc = 456,
+               .lac = 23,
+               .rac = 42,
+               .mnc_3_digits = false,
+               /* expecting 123-456, BCD = 21 63 54 (false flag has no effect) 
*/
+       },
+       {
+               .mcc = 123,
+               .mnc = 456,
+               .lac = 23,
+               .rac = 42,
+               .mnc_3_digits = true,
+               /* expecting 123-456, BCD = 21 63 54 (same) */
+       },
 };
 
 static void test_ra_cap(void)
diff --git a/tests/gsm0408/gsm0408_test.ok b/tests/gsm0408/gsm0408_test.ok
index be2a1de..59484c3 100644
--- a/tests/gsm0408/gsm0408_test.ok
+++ b/tests/gsm0408/gsm0408_test.ok
@@ -18,9 +18,44 @@
 000-00-0-0
 RA test...passed
 Constructed RA:
+000-000-0-0 (3-digit MNC)
+MCC+MNC in BCD: 00 00 00 
+000-000-0-0 (3-digit MNC)
+RA test...passed
+Constructed RA:
 999-999-65535-255
 MCC+MNC in BCD: 99 99 99 
 999-999-65535-255 (3-digit MNC)
+RA test...passed
+Constructed RA:
+001-02-23-42
+MCC+MNC in BCD: 00 f1 20 
+001-02-23-42
+RA test...passed
+Constructed RA:
+001-002-23-42 (3-digit MNC)
+MCC+MNC in BCD: 00 21 00 
+001-002-23-42 (3-digit MNC)
+RA test...passed
+Constructed RA:
+012-34-56-78
+MCC+MNC in BCD: 10 f2 43 
+012-34-56-78
+RA test...passed
+Constructed RA:
+012-034-23-42 (3-digit MNC)
+MCC+MNC in BCD: 10 42 30 
+012-034-23-42 (3-digit MNC)
+RA test...passed
+Constructed RA:
+123-456-23-42
+MCC+MNC in BCD: 21 63 54 
+123-456-23-42 (3-digit MNC)
+RA test...passed
+Constructed RA:
+123-456-23-42 (3-digit MNC)
+MCC+MNC in BCD: 21 63 54 
+123-456-23-42 (3-digit MNC)
 RA test...passed
 - gsm48_generate_lai() from 077-121-666-0
   Encoded 70 17 21 02 9a 
@@ -46,6 +81,14 @@
   Encoded 00 f0 00 00 00 
   gsm48_decode_lai2() gives  000-00-0-0
   passed
+- gsm48_generate_lai() from 000-000-0-0 (3-digit MNC)
+  Encoded 00 f0 00 00 00 
+  gsm48_decode_lai() gives  000-00-0-0
+  passed
+- gsm48_generate_lai2() from 000-000-0-0 (3-digit MNC)
+  Encoded 00 00 00 00 00 
+  gsm48_decode_lai2() gives  000-000-0-0 (3-digit MNC)
+  passed
 - gsm48_generate_lai() from 999-999-65535-0
   Encoded 99 99 99 ff ff 
   gsm48_decode_lai() gives  999-999-65535-0
@@ -54,3 +97,51 @@
   Encoded 99 99 99 ff ff 
   gsm48_decode_lai2() gives  999-999-65535-0 (3-digit MNC)
   passed
+- gsm48_generate_lai() from 001-02-23-0
+  Encoded 00 f1 20 00 17 
+  gsm48_decode_lai() gives  001-02-23-0
+  passed
+- gsm48_generate_lai2() from 001-02-23-0
+  Encoded 00 f1 20 00 17 
+  gsm48_decode_lai2() gives  001-02-23-0
+  passed
+- gsm48_generate_lai() from 001-002-23-0 (3-digit MNC)
+  Encoded 00 f1 20 00 17 
+  gsm48_decode_lai() gives  001-02-23-0
+  passed
+- gsm48_generate_lai2() from 001-002-23-0 (3-digit MNC)
+  Encoded 00 21 00 00 17 
+  gsm48_decode_lai2() gives  001-002-23-0 (3-digit MNC)
+  passed
+- gsm48_generate_lai() from 012-34-56-0
+  Encoded 10 f2 43 00 38 
+  gsm48_decode_lai() gives  012-34-56-0
+  passed
+- gsm48_generate_lai2() from 012-34-56-0
+  Encoded 10 f2 43 00 38 
+  gsm48_decode_lai2() gives  012-34-56-0
+  passed
+- gsm48_generate_lai() from 012-034-23-0 (3-digit MNC)
+  Encoded 10 f2 43 00 17 
+  gsm48_decode_lai() gives  012-34-23-0
+  passed
+- gsm48_generate_lai2() from 012-034-23-0 (3-digit MNC)
+  Encoded 10 42 30 00 17 
+  gsm48_decode_lai2() gives  012-034-23-0 (3-digit MNC)
+  passed
+- gsm48_generate_lai() from 123-456-23-0
+  Encoded 21 63 54 00 17 
+  gsm48_decode_lai() gives  123-456-23-0
+  passed
+- gsm48_generate_lai2() from 123-456-23-0
+  Encoded 21 63 54 00 17 
+  gsm48_decode_lai2() gives  123-456-23-0 (3-digit MNC)
+  passed
+- gsm48_generate_lai() from 123-456-23-0 (3-digit MNC)
+  Encoded 21 63 54 00 17 
+  gsm48_decode_lai() gives  123-456-23-0
+  passed
+- gsm48_generate_lai2() from 123-456-23-0 (3-digit MNC)
+  Encoded 21 63 54 00 17 
+  gsm48_decode_lai2() gives  123-456-23-0 (3-digit MNC)
+  passed

-- 
To view, visit https://gerrit.osmocom.org/6662
To unsubscribe, visit https://gerrit.osmocom.org/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I9b387e09293a6bbef84b9620ccf21ee2f9ec751c
Gerrit-PatchSet: 1
Gerrit-Project: libosmocore
Gerrit-Branch: master
Gerrit-Owner: Neels Hofmeyr <nhofm...@sysmocom.de>

Reply via email to