blob: e5833d0116812a1a33ce19eb8771855c059d36e2 [file] [log] [blame]
Holger Hans Peter Freyther97510812012-01-22 13:36:52 +01001Testing generation of GSM0808 messages
Philipp Maier4f4905f2018-11-30 13:36:12 +01002test_gsm0808_enc_cause: encoded: 04 01 41 (rc = 3)
3test_gsm0808_enc_cause: encoded: 04 02 80 41 (rc = 4)
Holger Hans Peter Freyther97510812012-01-22 13:36:52 +01004Testing creating Layer3
Philipp Maierfa896ab2017-03-27 16:55:32 +02005Testing creating Layer3 (AoIP)
Holger Hans Peter Freyther97510812012-01-22 13:36:52 +01006Testing creating Reset
Philipp Maier15596e22017-04-05 17:55:27 +02007Testing creating Reset Ack
Holger Hans Peter Freyther97510812012-01-22 13:36:52 +01008Testing creating Clear Command
9Testing creating Clear Complete
Philipp Maierb478dd32017-03-29 15:50:05 +020010Testing creating Chipher Mode Command
Holger Hans Peter Freyther97510812012-01-22 13:36:52 +010011Testing creating Cipher Complete
12Testing creating Cipher Reject
Maxed651d22018-11-07 15:25:05 +010013Testing creating Cipher Reject (extended)
Holger Hans Peter Freyther97510812012-01-22 13:36:52 +010014Testing creating CM U
15Testing creating SAPI Reject
Philipp Maierc6144a22017-03-29 17:53:43 +020016Testing creating Assignment Request
Holger Hans Peter Freyther97510812012-01-22 13:36:52 +010017Testing creating Assignment Complete
Philipp Maierfa896ab2017-03-27 16:55:32 +020018Testing creating Assignment Complete (AoIP)
Holger Hans Peter Freyther97510812012-01-22 13:36:52 +010019Testing creating Assignment Failure
Philipp Maierfa896ab2017-03-27 16:55:32 +020020Testing creating Assignment Failure (AoIP)
Holger Hans Peter Freyther97510812012-01-22 13:36:52 +010021Testing creating Clear Request
Philipp Maier3d48ec02017-03-29 17:37:55 +020022Testing creating Paging Request
Holger Hans Peter Freyther97510812012-01-22 13:36:52 +010023Testing creating DTAP
24Testing prepend DTAP
Neels Hofmeyrdb2fa4e2018-04-13 04:11:20 +020025test_gsm0808_enc_dec_cell_id_list_lac: encoded: 1a 07 05 01 24 ab cd 56 78 (rc = 9)
Neels Hofmeyr74663d92018-03-23 01:46:42 +010026------- test_cell_id_list_add
Neels Hofmeyra4399c82018-04-17 02:26:10 +020027 cell_id_list == CGI[0]:{}
Neels Hofmeyr74663d92018-03-23 01:46:42 +010028gsm0808_cell_id_list_add(&cil, &lac1) --> rc = 1
Neels Hofmeyra4399c82018-04-17 02:26:10 +020029 cell_id_list == LAC[1]:{123}
Neels Hofmeyr74663d92018-03-23 01:46:42 +010030gsm0808_cell_id_list_add(&cil, &lac1) --> rc = 0
Neels Hofmeyra4399c82018-04-17 02:26:10 +020031 cell_id_list == LAC[1]:{123}
Neels Hofmeyr74663d92018-03-23 01:46:42 +010032gsm0808_cell_id_list_add(&cil, &lac2) --> rc = 2
Neels Hofmeyra4399c82018-04-17 02:26:10 +020033 cell_id_list == LAC[3]:{123, 456, 789}
Neels Hofmeyr74663d92018-03-23 01:46:42 +010034gsm0808_cell_id_list_add(&cil, &lac2) --> rc = 0
Neels Hofmeyra4399c82018-04-17 02:26:10 +020035 cell_id_list == LAC[3]:{123, 456, 789}
Neels Hofmeyr74663d92018-03-23 01:46:42 +010036gsm0808_cell_id_list_add(&cil, &cil) --> rc = 0
Neels Hofmeyra4399c82018-04-17 02:26:10 +020037 cell_id_list == LAC[3]:{123, 456, 789}
Neels Hofmeyr74663d92018-03-23 01:46:42 +010038gsm0808_cell_id_list_add(&cil, &cgi1) --> rc = -22
Neels Hofmeyra4399c82018-04-17 02:26:10 +020039 cell_id_list == LAC[3]:{123, 456, 789}
40* can't add to BSS list
41 cell_id_list == BSS[0]
Neels Hofmeyr74663d92018-03-23 01:46:42 +010042gsm0808_cell_id_list_add(&cil, &lac1) --> rc = -22
Neels Hofmeyra4399c82018-04-17 02:26:10 +020043 cell_id_list == BSS[0]
44* other types (including NO_CELL) take on new type iff empty
45 cell_id_list == NO-CELL[0]
Neels Hofmeyr74663d92018-03-23 01:46:42 +010046gsm0808_cell_id_list_add(&cil, &cgi1) --> rc = 1
Neels Hofmeyra4399c82018-04-17 02:26:10 +020047 cell_id_list == CGI[1]:{001-02-3-4}
Neels Hofmeyr74663d92018-03-23 01:46:42 +010048gsm0808_cell_id_list_add(&cil, &cgi1) --> rc = 0
Neels Hofmeyra4399c82018-04-17 02:26:10 +020049 cell_id_list == CGI[1]:{001-02-3-4}
Neels Hofmeyr74663d92018-03-23 01:46:42 +010050gsm0808_cell_id_list_add(&cil, &cgi2) --> rc = 2
Neels Hofmeyra4399c82018-04-17 02:26:10 +020051 cell_id_list == CGI[3]:{001-02-3-4, 001-002-3-4, 005-006-7-8}
Neels Hofmeyr74663d92018-03-23 01:46:42 +010052gsm0808_cell_id_list_add(&cil, &cgi2) --> rc = 0
Neels Hofmeyra4399c82018-04-17 02:26:10 +020053 cell_id_list == CGI[3]:{001-02-3-4, 001-002-3-4, 005-006-7-8}
54* test gsm0808_cell_id_list_name_buf()'s return val
55 strlen(gsm0808_cell_id_list_name(cil)) == 45
56 gsm0808_cell_id_list_name_buf(buf, 46, cil)) == 45 "CGI[3]:{001-02-3-4, 001-002-3-4, 005-006-7-8}"
57 gsm0808_cell_id_list_name_buf(buf, 23, cil)) == 45 "CGI[3]:{001-02-3-4, 00"
58 gsm0808_cell_id_list_name_buf(buf, 11, cil)) == 45 "CGI[3]:{00"
59 gsm0808_cell_id_list_name_buf(buf, 5, cil)) == 45 "CGI["
60 gsm0808_cell_id_list_name_buf(buf, 2, cil)) == 45 "C"
61 gsm0808_cell_id_list_name_buf(buf, 1, cil)) == 45 ""
62 gsm0808_cell_id_list_name_buf(buf, 0, cil)) == 45 "#"
63* list-full behavior
Neels Hofmeyr74663d92018-03-23 01:46:42 +010064cil.id_list_len = 126
65gsm0808_cell_id_list_add(&cil, &cgi2a) --> rc = 1
66cil.id_list_len = 127
Neels Hofmeyr74663d92018-03-23 01:46:42 +010067cil.id_list_len = 126
68gsm0808_cell_id_list_add(&cil, &cgi3) --> rc = -28
69cil.id_list_len = 127
70gsm0808_cell_id_list_add(&cil, &cgi2a) --> rc = -28
71cil.id_list_len = 127
72------- test_cell_id_list_add done
Neels Hofmeyr250e7f72018-04-13 03:30:14 +020073test_gsm0808_enc_dec_cell_id_lac: encoded: 05 03 05 01 24 (rc = 5)
74test_gsm0808_enc_dec_cell_id_bss: encoded: 05 01 06 (rc = 3)
75test_gsm0808_enc_dec_cell_id_no_cell: encoded: 05 01 03 (rc = 3)
76test_gsm0808_enc_dec_cell_id_lai_and_lac: encoded: 05 06 04 21 63 54 23 42 (rc = 8)
77test_gsm0808_enc_dec_cell_id_ci: encoded: 05 03 02 04 23 (rc = 5)
78test_gsm0808_enc_dec_cell_id_lac_and_ci: encoded: 05 05 01 04 23 02 35 (rc = 7)
79test_gsm0808_enc_dec_cell_id_global: encoded: 05 08 00 21 63 54 23 42 04 23 (rc = 10)
Philipp Maier5f2eb152018-09-19 13:40:21 +020080Testing gsm0808_sc_cfg_from_gsm48_mr_cfg():
81Input:
82 m4_75= 0 smod= 0
83 m5_15= 0 spare= 0
84 m5_90= 0 icmi= 0
85 m6_70= 0 nscb= 0
86 m7_40= 0 ver= 0
87 m7_95= 0
88 m10_2= 0
89 m12_2= 0
90Result (fr):
91 S15-S0 = 0000 = 0b0000000000000000
92Result (hr):
93 S15-S0 = 0000 = 0b0000000000000000
94
95Input:
96 m4_75= 1 smod= 0
97 m5_15= 0 spare= 0
98 m5_90= 0 icmi= 0
99 m6_70= 0 nscb= 0
100 m7_40= 0 ver= 0
101 m7_95= 0
102 m10_2= 0
103 m12_2= 0
104Result (fr):
105 S15-S0 = 5703 = 0b0101011100000011
106Result (hr):
107 S15-S0 = 0703 = 0b0000011100000011
108
109Input:
110 m4_75= 0 smod= 0
111 m5_15= 1 spare= 0
112 m5_90= 0 icmi= 0
113 m6_70= 0 nscb= 0
114 m7_40= 0 ver= 0
115 m7_95= 0
116 m10_2= 0
117 m12_2= 0
118Result (fr):
119 S15-S0 = 0000 = 0b0000000000000000
120Result (hr):
121 S15-S0 = 0000 = 0b0000000000000000
122
123Input:
124 m4_75= 0 smod= 0
125 m5_15= 0 spare= 0
126 m5_90= 1 icmi= 0
127 m6_70= 0 nscb= 0
128 m7_40= 0 ver= 0
129 m7_95= 0
130 m10_2= 0
131 m12_2= 0
132Result (fr):
133 S15-S0 = 5706 = 0b0101011100000110
134Result (hr):
135 S15-S0 = 0706 = 0b0000011100000110
136
137Input:
138 m4_75= 0 smod= 0
139 m5_15= 0 spare= 0
140 m5_90= 0 icmi= 0
141 m6_70= 1 nscb= 0
142 m7_40= 0 ver= 0
143 m7_95= 0
144 m10_2= 0
145 m12_2= 0
146Result (fr):
147 S15-S0 = 1608 = 0b0001011000001000
148Result (hr):
149 S15-S0 = 0608 = 0b0000011000001000
150
151Input:
152 m4_75= 0 smod= 0
153 m5_15= 0 spare= 0
154 m5_90= 0 icmi= 0
155 m6_70= 0 nscb= 0
156 m7_40= 1 ver= 0
157 m7_95= 0
158 m10_2= 0
159 m12_2= 0
160Result (fr):
161 S15-S0 = 0412 = 0b0000010000010010
162Result (hr):
163 S15-S0 = 0412 = 0b0000010000010010
164
165Input:
166 m4_75= 0 smod= 0
167 m5_15= 0 spare= 0
168 m5_90= 0 icmi= 0
169 m6_70= 0 nscb= 0
170 m7_40= 0 ver= 0
171 m7_95= 1
172 m10_2= 0
173 m12_2= 0
174Result (fr):
175 S15-S0 = 4020 = 0b0100000000100000
176Result (hr):
177 S15-S0 = 0020 = 0b0000000000100000
178
179Input:
180 m4_75= 0 smod= 0
181 m5_15= 0 spare= 0
182 m5_90= 0 icmi= 0
183 m6_70= 0 nscb= 0
184 m7_40= 0 ver= 0
185 m7_95= 0
186 m10_2= 1
187 m12_2= 0
188Result (fr):
189 S15-S0 = 1040 = 0b0001000001000000
190Result (hr):
191 S15-S0 = 0000 = 0b0000000000000000
192
193Input:
194 m4_75= 0 smod= 0
195 m5_15= 0 spare= 0
196 m5_90= 0 icmi= 0
197 m6_70= 0 nscb= 0
198 m7_40= 0 ver= 0
199 m7_95= 0
200 m10_2= 0
201 m12_2= 1
202Result (fr):
203 S15-S0 = 4082 = 0b0100000010000010
204Result (hr):
205 S15-S0 = 0002 = 0b0000000000000010
206
207Input:
208 m4_75= 1 smod= 0
209 m5_15= 1 spare= 0
210 m5_90= 1 icmi= 0
211 m6_70= 1 nscb= 0
212 m7_40= 0 ver= 0
213 m7_95= 0
214 m10_2= 0
215 m12_2= 0
216Result (fr):
217 S15-S0 = 570f = 0b0101011100001111
218Result (hr):
219 S15-S0 = 070f = 0b0000011100001111
220
221Input:
222 m4_75= 0 smod= 0
223 m5_15= 0 spare= 0
224 m5_90= 0 icmi= 0
225 m6_70= 0 nscb= 0
226 m7_40= 1 ver= 0
227 m7_95= 1
228 m10_2= 1
229 m12_2= 1
230Result (fr):
231 S15-S0 = 54f2 = 0b0101010011110010
232Result (hr):
233 S15-S0 = 0432 = 0b0000010000110010
234
235Input:
236 m4_75= 0 smod= 0
237 m5_15= 0 spare= 0
238 m5_90= 1 icmi= 0
239 m6_70= 1 nscb= 0
240 m7_40= 0 ver= 0
241 m7_95= 0
242 m10_2= 1
243 m12_2= 1
244Result (fr):
245 S15-S0 = 57ce = 0b0101011111001110
246Result (hr):
247 S15-S0 = 070e = 0b0000011100001110
248
249Input:
250 m4_75= 1 smod= 0
251 m5_15= 1 spare= 0
252 m5_90= 0 icmi= 0
253 m6_70= 0 nscb= 0
254 m7_40= 1 ver= 0
255 m7_95= 1
256 m10_2= 0
257 m12_2= 0
258Result (fr):
259 S15-S0 = 5733 = 0b0101011100110011
260Result (hr):
261 S15-S0 = 0733 = 0b0000011100110011
262
263Input:
264 m4_75= 0 smod= 0
265 m5_15= 1 spare= 0
266 m5_90= 0 icmi= 0
267 m6_70= 1 nscb= 0
268 m7_40= 0 ver= 0
269 m7_95= 1
270 m10_2= 0
271 m12_2= 1
272Result (fr):
273 S15-S0 = 56aa = 0b0101011010101010
274Result (hr):
275 S15-S0 = 062a = 0b0000011000101010
276
277Input:
278 m4_75= 1 smod= 0
279 m5_15= 0 spare= 0
280 m5_90= 1 icmi= 0
281 m6_70= 0 nscb= 0
282 m7_40= 1 ver= 0
283 m7_95= 0
284 m10_2= 1
285 m12_2= 0
286Result (fr):
287 S15-S0 = 5757 = 0b0101011101010111
288Result (hr):
289 S15-S0 = 0717 = 0b0000011100010111
290
291Input:
292 m4_75= 1 smod= 0
293 m5_15= 1 spare= 0
294 m5_90= 1 icmi= 0
295 m6_70= 1 nscb= 0
296 m7_40= 1 ver= 0
297 m7_95= 1
298 m10_2= 1
299 m12_2= 1
300Result (fr):
301 S15-S0 = 57ff = 0b0101011111111111
302Result (hr):
303 S15-S0 = 073f = 0b0000011100111111
304
Philipp Maier8515d032018-09-25 15:57:49 +0200305Testing gsm48_mr_cfg_from_gsm0808_sc_cfg():
306Input:
307 S15-S0 = ff03 = 0b1111111100000011
308Output:
309 m4_75= 1 smod= 0
310 m5_15= 1 spare= 0
311 m5_90= 0 icmi= 1
312 m6_70= 0 nscb= 0
313 m7_40= 0 ver= 1
314 m7_95= 0
315 m10_2= 0
316 m12_2= 0
317
318Input:
319 S15-S0 = 0000 = 0b0000000000000000
320Output:
321 m4_75= 0 smod= 0
322 m5_15= 1 spare= 0
323 m5_90= 0 icmi= 1
324 m6_70= 0 nscb= 0
325 m7_40= 0 ver= 1
326 m7_95= 0
327 m10_2= 0
328 m12_2= 0
329
330Input:
331 S15-S0 = ff06 = 0b1111111100000110
332Output:
333 m4_75= 0 smod= 0
334 m5_15= 1 spare= 0
335 m5_90= 1 icmi= 1
336 m6_70= 0 nscb= 0
337 m7_40= 0 ver= 1
338 m7_95= 0
339 m10_2= 0
340 m12_2= 0
341
342Input:
343 S15-S0 = 3e08 = 0b0011111000001000
344Output:
345 m4_75= 0 smod= 0
346 m5_15= 1 spare= 0
347 m5_90= 0 icmi= 1
348 m6_70= 1 nscb= 0
349 m7_40= 0 ver= 1
350 m7_95= 0
351 m10_2= 0
352 m12_2= 0
353
354Input:
355 S15-S0 = 0c12 = 0b0000110000010010
356Output:
357 m4_75= 0 smod= 0
358 m5_15= 1 spare= 0
359 m5_90= 0 icmi= 1
360 m6_70= 0 nscb= 0
361 m7_40= 1 ver= 1
362 m7_95= 0
363 m10_2= 0
364 m12_2= 0
365
366Input:
367 S15-S0 = c020 = 0b1100000000100000
368Output:
369 m4_75= 0 smod= 0
370 m5_15= 1 spare= 0
371 m5_90= 0 icmi= 1
372 m6_70= 0 nscb= 0
373 m7_40= 0 ver= 1
374 m7_95= 1
375 m10_2= 0
376 m12_2= 0
377
378Input:
379 S15-S0 = 3040 = 0b0011000001000000
380Output:
381 m4_75= 0 smod= 0
382 m5_15= 1 spare= 0
383 m5_90= 0 icmi= 1
384 m6_70= 0 nscb= 0
385 m7_40= 0 ver= 1
386 m7_95= 0
387 m10_2= 1
388 m12_2= 0
389
390Input:
391 S15-S0 = c082 = 0b1100000010000010
392Output:
393 m4_75= 0 smod= 0
394 m5_15= 1 spare= 0
395 m5_90= 0 icmi= 1
396 m6_70= 0 nscb= 0
397 m7_40= 0 ver= 1
398 m7_95= 0
399 m10_2= 0
400 m12_2= 1
401
402Input:
403 S15-S0 = ff4b = 0b1111111101001011
404Output:
405 m4_75= 1 smod= 0
406 m5_15= 1 spare= 0
407 m5_90= 0 icmi= 1
408 m6_70= 1 nscb= 0
409 m7_40= 0 ver= 1
410 m7_95= 0
411 m10_2= 1
412 m12_2= 0
413
414Input:
415 S15-S0 = fcd2 = 0b1111110011010010
416Output:
417 m4_75= 0 smod= 0
418 m5_15= 1 spare= 0
419 m5_90= 0 icmi= 1
420 m6_70= 0 nscb= 0
421 m7_40= 1 ver= 1
422 m7_95= 0
423 m10_2= 1
424 m12_2= 1
425
426Input:
427 S15-S0 = c0a2 = 0b1100000010100010
428Output:
429 m4_75= 0 smod= 0
430 m5_15= 1 spare= 0
431 m5_90= 0 icmi= 1
432 m6_70= 0 nscb= 0
433 m7_40= 0 ver= 1
434 m7_95= 1
435 m10_2= 0
436 m12_2= 1
437
Holger Hans Peter Freyther97510812012-01-22 13:36:52 +0100438Done