aboutsummaryrefslogtreecommitdiffstats
path: root/tests/gsm0408
diff options
context:
space:
mode:
authorNeels Hofmeyr <neels@hofmeyr.de>2018-12-05 21:32:40 +0100
committerHarald Welte <laforge@gnumonks.org>2018-12-10 17:06:30 +0000
commit627e0113d142c91eaf9a750ab76b722bb776b1ce (patch)
tree643df37330095ad84bee057a8a951172de9ee577 /tests/gsm0408
parent7079e698481705c82c7aff58ea9c63469626af80 (diff)
gsm48_mi_to_string: use osmo_bcd2str(), fix some corner cases
By using osmo_bcd2str(), ensure that the resulting string is always nul terminated, and always return strlen()+1 whether truncated or not. Still keep up the previous return value style, even if that isn't consistent at all. The difference between IMSI/IMEI and TMSI return values remains and is not part of this patch. Change-Id: I1b51b72a721e1cc9d69796b804ebda741ff0f36b
Diffstat (limited to 'tests/gsm0408')
-rw-r--r--tests/gsm0408/gsm0408_test.c2
-rw-r--r--tests/gsm0408/gsm0408_test.ok26
2 files changed, 12 insertions, 16 deletions
diff --git a/tests/gsm0408/gsm0408_test.c b/tests/gsm0408/gsm0408_test.c
index 24f903a7..c786d389 100644
--- a/tests/gsm0408/gsm0408_test.c
+++ b/tests/gsm0408/gsm0408_test.c
@@ -393,7 +393,6 @@ static const struct test_mid_encode_decode_test test_mid_encode_decode_tests[] =
.expect_mi_tlv_hex = "170449322453",
.str_size = 4,
.expect_str = "423",
- .expect_rc = 3, /* exception: on truncation, gsm48_mi_to_string() returns strlen(), not bytes! */
},
{
.mi_type = GSM_MI_TYPE_IMEI,
@@ -421,7 +420,6 @@ static const struct test_mid_encode_decode_test test_mid_encode_decode_tests[] =
.expect_mi_tlv_hex = "170a937856341290785634f2",
.str_size = 16,
.expect_str = "987654321098765",
- .expect_rc = 15, /* exception: on truncation, gsm48_mi_to_string() returns strlen(), not bytes! */
},
{
/* gsm48 treats TMSI as decimal string */
diff --git a/tests/gsm0408/gsm0408_test.ok b/tests/gsm0408/gsm0408_test.ok
index 1dc42499..2db58de8 100644
--- a/tests/gsm0408/gsm0408_test.ok
+++ b/tests/gsm0408/gsm0408_test.ok
@@ -23,8 +23,7 @@ Testing Mobile Identity conversions
-> MI-str="4234235" rc=8
- IMSI 4234235
-> MI-TLV-hex='170449322453'
- -> MI-str="423" rc=3
- ERROR: resulting string is not explicitly nul terminated
+ -> MI-str="423" rc=4
- IMEI 123456789012345
-> MI-TLV-hex='17081a32547698103254'
-> MI-str="123456789012345" rc=16
@@ -39,8 +38,7 @@ Testing Mobile Identity conversions
-> MI-str="987654321098765432" rc=19
- IMEI-SV 987654321098765432
-> MI-TLV-hex='170a937856341290785634f2'
- -> MI-str="987654321098765" rc=15
- ERROR: resulting string is not explicitly nul terminated
+ -> MI-str="987654321098765" rc=16
- TMSI 305419896
-> MI-TLV-hex='1705f412345678'
-> MI-str="305419896" rc=9
@@ -66,14 +64,14 @@ Testing Mobile Identity conversions
Decoding zero length Mobile Identities
- MI type: IMSI
- writing to zero-length string:
- rc=1
- ERROR: Wrote to invalid memory!
+ rc=0
+ nothing written
- writing to 1-byte-length string:
rc=1
- ERROR: Wrote unexpected string "1!!!!"
+ returned empty string
- decode zero-length mi:
- rc=2
- ERROR: expected empty string, got output string: "1"
+ rc=1
+ returned empty string
- MI type: TMSI
- writing to zero-length string:
rc=1
@@ -96,14 +94,14 @@ Decoding zero length Mobile Identities
returned empty string
- MI type: IMSI | GSM_MI_ODD
- writing to zero-length string:
- rc=1
- ERROR: Wrote to invalid memory!
+ rc=0
+ nothing written
- writing to 1-byte-length string:
rc=1
- ERROR: Wrote unexpected string "1!!!!"
+ returned empty string
- decode zero-length mi:
- rc=2
- ERROR: expected empty string, got output string: "1"
+ rc=1
+ returned empty string
- MI type: TMSI | GSM_MI_ODD
- writing to zero-length string:
rc=1