libosmocore/tests/gsm0808/gsm0808_test.ok

443 lines
9.4 KiB
Plaintext

Testing generation of GSM0808 messages
test_gsm0808_enc_cause: encoded: 04 01 41 (rc = 3)
test_gsm0808_enc_cause: encoded: 04 02 80 41 (rc = 4)
Testing creating Layer3
Testing creating Layer3 (AoIP)
Testing creating Reset
Testing creating Reset Ack
Testing creating Clear Command
Testing creating Clear Complete
Testing creating Chipher Mode Command
Testing creating Cipher Complete
Testing creating Cipher Reject
Testing creating Cipher Reject (extended)
Testing creating CM U
Testing creating SAPI Reject
Testing creating Assignment Request
Testing creating Assignment Request with Kc and LCLS
Testing creating Assignment Complete
Testing creating Assignment Complete (AoIP)
Testing creating Assignment Failure
Testing creating Assignment Failure (AoIP)
Testing creating Clear Request
Testing creating Paging Request
Testing creating DTAP
Testing prepend DTAP
Testing Global Call Reference IE encoder...
15 bytes added: OK
decoded 15 bytes: OK
test_gsm0808_enc_dec_cell_id_list_lac: encoded: 1a 07 05 01 24 ab cd 56 78 (rc = 9)
------- test_cell_id_list_add
cell_id_list == CGI[0]:{}
gsm0808_cell_id_list_add(&cil, &lac1) --> rc = 1
cell_id_list == LAC[1]:{123}
gsm0808_cell_id_list_add(&cil, &lac1) --> rc = 0
cell_id_list == LAC[1]:{123}
gsm0808_cell_id_list_add(&cil, &lac2) --> rc = 2
cell_id_list == LAC[3]:{123, 456, 789}
gsm0808_cell_id_list_add(&cil, &lac2) --> rc = 0
cell_id_list == LAC[3]:{123, 456, 789}
gsm0808_cell_id_list_add(&cil, &cil) --> rc = 0
cell_id_list == LAC[3]:{123, 456, 789}
gsm0808_cell_id_list_add(&cil, &cgi1) --> rc = -22
cell_id_list == LAC[3]:{123, 456, 789}
* can't add to BSS list
cell_id_list == BSS[0]
gsm0808_cell_id_list_add(&cil, &lac1) --> rc = -22
cell_id_list == BSS[0]
* other types (including NO_CELL) take on new type iff empty
cell_id_list == NO-CELL[0]
gsm0808_cell_id_list_add(&cil, &cgi1) --> rc = 1
cell_id_list == CGI[1]:{001-02-3-4}
gsm0808_cell_id_list_add(&cil, &cgi1) --> rc = 0
cell_id_list == CGI[1]:{001-02-3-4}
gsm0808_cell_id_list_add(&cil, &cgi2) --> rc = 2
cell_id_list == CGI[3]:{001-02-3-4, 001-002-3-4, 005-006-7-8}
gsm0808_cell_id_list_add(&cil, &cgi2) --> rc = 0
cell_id_list == CGI[3]:{001-02-3-4, 001-002-3-4, 005-006-7-8}
* test gsm0808_cell_id_list_name_buf()'s return val
strlen(gsm0808_cell_id_list_name(cil)) == 45
gsm0808_cell_id_list_name_buf(buf, 46, cil)) == 45 "CGI[3]:{001-02-3-4, 001-002-3-4, 005-006-7-8}"
gsm0808_cell_id_list_name_buf(buf, 23, cil)) == 45 "CGI[3]:{001-02-3-4, 00"
gsm0808_cell_id_list_name_buf(buf, 11, cil)) == 45 "CGI[3]:{00"
gsm0808_cell_id_list_name_buf(buf, 5, cil)) == 45 "CGI["
gsm0808_cell_id_list_name_buf(buf, 2, cil)) == 45 "C"
gsm0808_cell_id_list_name_buf(buf, 1, cil)) == 45 ""
gsm0808_cell_id_list_name_buf(buf, 0, cil)) == 45 "#"
* list-full behavior
cil.id_list_len = 126
gsm0808_cell_id_list_add(&cil, &cgi2a) --> rc = 1
cil.id_list_len = 127
cil.id_list_len = 126
gsm0808_cell_id_list_add(&cil, &cgi3) --> rc = -28
cil.id_list_len = 127
gsm0808_cell_id_list_add(&cil, &cgi2a) --> rc = -28
cil.id_list_len = 127
------- test_cell_id_list_add done
test_gsm0808_enc_dec_cell_id_lac: encoded: 05 03 05 01 24 (rc = 5)
test_gsm0808_enc_dec_cell_id_bss: encoded: 05 01 06 (rc = 3)
test_gsm0808_enc_dec_cell_id_no_cell: encoded: 05 01 03 (rc = 3)
test_gsm0808_enc_dec_cell_id_lai_and_lac: encoded: 05 06 04 21 63 54 23 42 (rc = 8)
test_gsm0808_enc_dec_cell_id_ci: encoded: 05 03 02 04 23 (rc = 5)
test_gsm0808_enc_dec_cell_id_lac_and_ci: encoded: 05 05 01 04 23 02 35 (rc = 7)
test_gsm0808_enc_dec_cell_id_global: encoded: 05 08 00 21 63 54 23 42 04 23 (rc = 10)
Testing gsm0808_sc_cfg_from_gsm48_mr_cfg():
Input:
m4_75= 0 smod= 0
m5_15= 0 spare= 0
m5_90= 0 icmi= 0
m6_70= 0 nscb= 0
m7_40= 0 ver= 0
m7_95= 0
m10_2= 0
m12_2= 0
Result (fr):
S15-S0 = 0000 = 0b0000000000000000
Result (hr):
S15-S0 = 0000 = 0b0000000000000000
Input:
m4_75= 1 smod= 0
m5_15= 0 spare= 0
m5_90= 0 icmi= 0
m6_70= 0 nscb= 0
m7_40= 0 ver= 0
m7_95= 0
m10_2= 0
m12_2= 0
Result (fr):
S15-S0 = 5703 = 0b0101011100000011
Result (hr):
S15-S0 = 0703 = 0b0000011100000011
Input:
m4_75= 0 smod= 0
m5_15= 1 spare= 0
m5_90= 0 icmi= 0
m6_70= 0 nscb= 0
m7_40= 0 ver= 0
m7_95= 0
m10_2= 0
m12_2= 0
Result (fr):
S15-S0 = 0000 = 0b0000000000000000
Result (hr):
S15-S0 = 0000 = 0b0000000000000000
Input:
m4_75= 0 smod= 0
m5_15= 0 spare= 0
m5_90= 1 icmi= 0
m6_70= 0 nscb= 0
m7_40= 0 ver= 0
m7_95= 0
m10_2= 0
m12_2= 0
Result (fr):
S15-S0 = 5706 = 0b0101011100000110
Result (hr):
S15-S0 = 0706 = 0b0000011100000110
Input:
m4_75= 0 smod= 0
m5_15= 0 spare= 0
m5_90= 0 icmi= 0
m6_70= 1 nscb= 0
m7_40= 0 ver= 0
m7_95= 0
m10_2= 0
m12_2= 0
Result (fr):
S15-S0 = 1608 = 0b0001011000001000
Result (hr):
S15-S0 = 0608 = 0b0000011000001000
Input:
m4_75= 0 smod= 0
m5_15= 0 spare= 0
m5_90= 0 icmi= 0
m6_70= 0 nscb= 0
m7_40= 1 ver= 0
m7_95= 0
m10_2= 0
m12_2= 0
Result (fr):
S15-S0 = 0412 = 0b0000010000010010
Result (hr):
S15-S0 = 0412 = 0b0000010000010010
Input:
m4_75= 0 smod= 0
m5_15= 0 spare= 0
m5_90= 0 icmi= 0
m6_70= 0 nscb= 0
m7_40= 0 ver= 0
m7_95= 1
m10_2= 0
m12_2= 0
Result (fr):
S15-S0 = 4020 = 0b0100000000100000
Result (hr):
S15-S0 = 0020 = 0b0000000000100000
Input:
m4_75= 0 smod= 0
m5_15= 0 spare= 0
m5_90= 0 icmi= 0
m6_70= 0 nscb= 0
m7_40= 0 ver= 0
m7_95= 0
m10_2= 1
m12_2= 0
Result (fr):
S15-S0 = 1040 = 0b0001000001000000
Result (hr):
S15-S0 = 0000 = 0b0000000000000000
Input:
m4_75= 0 smod= 0
m5_15= 0 spare= 0
m5_90= 0 icmi= 0
m6_70= 0 nscb= 0
m7_40= 0 ver= 0
m7_95= 0
m10_2= 0
m12_2= 1
Result (fr):
S15-S0 = 4082 = 0b0100000010000010
Result (hr):
S15-S0 = 0002 = 0b0000000000000010
Input:
m4_75= 1 smod= 0
m5_15= 1 spare= 0
m5_90= 1 icmi= 0
m6_70= 1 nscb= 0
m7_40= 0 ver= 0
m7_95= 0
m10_2= 0
m12_2= 0
Result (fr):
S15-S0 = 570f = 0b0101011100001111
Result (hr):
S15-S0 = 070f = 0b0000011100001111
Input:
m4_75= 0 smod= 0
m5_15= 0 spare= 0
m5_90= 0 icmi= 0
m6_70= 0 nscb= 0
m7_40= 1 ver= 0
m7_95= 1
m10_2= 1
m12_2= 1
Result (fr):
S15-S0 = 54f2 = 0b0101010011110010
Result (hr):
S15-S0 = 0432 = 0b0000010000110010
Input:
m4_75= 0 smod= 0
m5_15= 0 spare= 0
m5_90= 1 icmi= 0
m6_70= 1 nscb= 0
m7_40= 0 ver= 0
m7_95= 0
m10_2= 1
m12_2= 1
Result (fr):
S15-S0 = 57ce = 0b0101011111001110
Result (hr):
S15-S0 = 070e = 0b0000011100001110
Input:
m4_75= 1 smod= 0
m5_15= 1 spare= 0
m5_90= 0 icmi= 0
m6_70= 0 nscb= 0
m7_40= 1 ver= 0
m7_95= 1
m10_2= 0
m12_2= 0
Result (fr):
S15-S0 = 5733 = 0b0101011100110011
Result (hr):
S15-S0 = 0733 = 0b0000011100110011
Input:
m4_75= 0 smod= 0
m5_15= 1 spare= 0
m5_90= 0 icmi= 0
m6_70= 1 nscb= 0
m7_40= 0 ver= 0
m7_95= 1
m10_2= 0
m12_2= 1
Result (fr):
S15-S0 = 56aa = 0b0101011010101010
Result (hr):
S15-S0 = 062a = 0b0000011000101010
Input:
m4_75= 1 smod= 0
m5_15= 0 spare= 0
m5_90= 1 icmi= 0
m6_70= 0 nscb= 0
m7_40= 1 ver= 0
m7_95= 0
m10_2= 1
m12_2= 0
Result (fr):
S15-S0 = 5757 = 0b0101011101010111
Result (hr):
S15-S0 = 0717 = 0b0000011100010111
Input:
m4_75= 1 smod= 0
m5_15= 1 spare= 0
m5_90= 1 icmi= 0
m6_70= 1 nscb= 0
m7_40= 1 ver= 0
m7_95= 1
m10_2= 1
m12_2= 1
Result (fr):
S15-S0 = 57ff = 0b0101011111111111
Result (hr):
S15-S0 = 073f = 0b0000011100111111
Testing gsm48_mr_cfg_from_gsm0808_sc_cfg():
Input:
S15-S0 = ff03 = 0b1111111100000011
Output:
m4_75= 1 smod= 0
m5_15= 1 spare= 0
m5_90= 0 icmi= 1
m6_70= 0 nscb= 0
m7_40= 0 ver= 1
m7_95= 0
m10_2= 0
m12_2= 0
Input:
S15-S0 = 0000 = 0b0000000000000000
Output:
m4_75= 0 smod= 0
m5_15= 1 spare= 0
m5_90= 0 icmi= 1
m6_70= 0 nscb= 0
m7_40= 0 ver= 1
m7_95= 0
m10_2= 0
m12_2= 0
Input:
S15-S0 = ff06 = 0b1111111100000110
Output:
m4_75= 0 smod= 0
m5_15= 1 spare= 0
m5_90= 1 icmi= 1
m6_70= 0 nscb= 0
m7_40= 0 ver= 1
m7_95= 0
m10_2= 0
m12_2= 0
Input:
S15-S0 = 3e08 = 0b0011111000001000
Output:
m4_75= 0 smod= 0
m5_15= 1 spare= 0
m5_90= 0 icmi= 1
m6_70= 1 nscb= 0
m7_40= 0 ver= 1
m7_95= 0
m10_2= 0
m12_2= 0
Input:
S15-S0 = 0c12 = 0b0000110000010010
Output:
m4_75= 0 smod= 0
m5_15= 1 spare= 0
m5_90= 0 icmi= 1
m6_70= 0 nscb= 0
m7_40= 1 ver= 1
m7_95= 0
m10_2= 0
m12_2= 0
Input:
S15-S0 = c020 = 0b1100000000100000
Output:
m4_75= 0 smod= 0
m5_15= 1 spare= 0
m5_90= 0 icmi= 1
m6_70= 0 nscb= 0
m7_40= 0 ver= 1
m7_95= 1
m10_2= 0
m12_2= 0
Input:
S15-S0 = 3040 = 0b0011000001000000
Output:
m4_75= 0 smod= 0
m5_15= 1 spare= 0
m5_90= 0 icmi= 1
m6_70= 0 nscb= 0
m7_40= 0 ver= 1
m7_95= 0
m10_2= 1
m12_2= 0
Input:
S15-S0 = c082 = 0b1100000010000010
Output:
m4_75= 0 smod= 0
m5_15= 1 spare= 0
m5_90= 0 icmi= 1
m6_70= 0 nscb= 0
m7_40= 0 ver= 1
m7_95= 0
m10_2= 0
m12_2= 1
Input:
S15-S0 = ff4b = 0b1111111101001011
Output:
m4_75= 1 smod= 0
m5_15= 1 spare= 0
m5_90= 0 icmi= 1
m6_70= 1 nscb= 0
m7_40= 0 ver= 1
m7_95= 0
m10_2= 1
m12_2= 0
Input:
S15-S0 = fcd2 = 0b1111110011010010
Output:
m4_75= 0 smod= 0
m5_15= 1 spare= 0
m5_90= 0 icmi= 1
m6_70= 0 nscb= 0
m7_40= 1 ver= 1
m7_95= 0
m10_2= 1
m12_2= 1
Input:
S15-S0 = c0a2 = 0b1100000010100010
Output:
m4_75= 0 smod= 0
m5_15= 1 spare= 0
m5_90= 0 icmi= 1
m6_70= 0 nscb= 0
m7_40= 0 ver= 1
m7_95= 1
m10_2= 0
m12_2= 1
Done