[PATCH] libosmocore[master]: gsm0408_test: test new gsm48_{decode, generate}_lai2() functions

This is merely a historical archive of years 2008-2021, before the migration to mailman3.

A maintained and still updated list archive can be found at https://lists.osmocom.org/hyperkitty/list/gerrit-log@lists.osmocom.org/.

Neels Hofmeyr gerrit-no-reply at lists.osmocom.org
Tue Feb 27 02:46:19 UTC 2018


Hello Harald Welte, Jenkins Builder,

I'd like you to reexamine a change.  Please visit

    https://gerrit.osmocom.org/6661

to look at the new patch set (#5).

gsm0408_test: test new gsm48_{decode,generate}_lai2() functions

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


  git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/61/6661/5

diff --git a/tests/gsm0408/gsm0408_test.c b/tests/gsm0408/gsm0408_test.c
index 9e552ab..4b22c3e 100644
--- a/tests/gsm0408/gsm0408_test.c
+++ b/tests/gsm0408/gsm0408_test.c
@@ -187,6 +187,39 @@
 		printf("  FAIL\n");
 }
 
+static inline void dump_lai(const struct osmo_location_area_id *lai)
+{
+	printf("%s%s\n", osmo_lai_name(lai), lai->plmn.mnc_3_digits ? " (3-digit MNC)" : "");
+}
+
+static inline void check_lai2(const struct gprs_ra_id *raid)
+{
+	struct gsm48_loc_area_id lai = {};
+	struct osmo_location_area_id decoded = {};
+	struct osmo_location_area_id laid = {
+		.plmn = {
+			.mcc = raid->mcc,
+			.mnc = raid->mnc,
+			.mnc_3_digits = raid->mnc_3_digits,
+		},
+		.lac = raid->lac,
+	};
+
+	printf("- osmo_generate_lai() from "); dump_lai(&laid);
+
+	osmo_generate_lai(&lai, &laid);
+	printf("  Encoded %s\n", osmo_hexdump((unsigned char*)&lai, sizeof(lai)));
+	osmo_decode_lai(&lai, &decoded);
+	printf("  osmo_decode_lai() gives  "); dump_lai(&decoded);
+	if (decoded.plmn.mcc == laid.plmn.mcc
+	    && decoded.plmn.mnc == laid.plmn.mnc
+	    && decoded.lac == laid.lac
+	    && decoded.plmn.mnc_3_digits == (laid.plmn.mnc_3_digits || laid.plmn.mnc > 99))
+		printf("  passed\n");
+	else
+		printf("  FAIL\n");
+}
+
 static struct gprs_ra_id test_ra_cap_items[] = {
 	{
 		.mcc = 77,
@@ -228,6 +261,7 @@
 
 	for (i = 0; i < ARRAY_SIZE(test_ra_cap_items); i++) {
 		check_lai(&test_ra_cap_items[i]);
+		check_lai2(&test_ra_cap_items[i]);
 	}
 }
 
diff --git a/tests/gsm0408/gsm0408_test.ok b/tests/gsm0408/gsm0408_test.ok
index cc56763..58fe297 100644
--- a/tests/gsm0408/gsm0408_test.ok
+++ b/tests/gsm0408/gsm0408_test.ok
@@ -26,15 +26,31 @@
   Encoded 70 17 21 02 9a 
   gsm48_decode_lai() gives  077-121-666-0
   passed
+- osmo_generate_lai() from 077-121-666
+  Encoded 70 17 21 02 9a 
+  osmo_decode_lai() gives  077-121-666 (3-digit MNC)
+  passed
 - gsm48_generate_lai() from 084-98-11-0
   Encoded 80 f4 89 00 0b 
   gsm48_decode_lai() gives  084-98-11-0
+  passed
+- osmo_generate_lai() from 084-98-11
+  Encoded 80 f4 89 00 0b 
+  osmo_decode_lai() gives  084-98-11
   passed
 - gsm48_generate_lai() from 000-00-0-0
   Encoded 00 f0 00 00 00 
   gsm48_decode_lai() gives  000-00-0-0
   passed
+- osmo_generate_lai() from 000-00-0
+  Encoded 00 f0 00 00 00 
+  osmo_decode_lai() gives  000-00-0
+  passed
 - gsm48_generate_lai() from 999-999-65535-0
   Encoded 99 99 99 ff ff 
   gsm48_decode_lai() gives  999-999-65535-0
   passed
+- osmo_generate_lai() from 999-999-65535
+  Encoded 99 99 99 ff ff 
+  osmo_decode_lai() gives  999-999-65535 (3-digit MNC)
+  passed

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

Gerrit-MessageType: newpatchset
Gerrit-Change-Id: I4c8492b8055803d2857f1ef30aede088778b085b
Gerrit-PatchSet: 5
Gerrit-Project: libosmocore
Gerrit-Branch: master
Gerrit-Owner: Neels Hofmeyr <nhofmeyr at sysmocom.de>
Gerrit-Reviewer: Harald Welte <laforge at gnumonks.org>
Gerrit-Reviewer: Jenkins Builder



More information about the gerrit-log mailing list