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