blob: 22630bfe1a314fff7e71e48f9af9661f0f447bd2 [file] [log] [blame]
Neels Hofmeyr7dde1f42020-05-11 19:43:20 +02001
2osmo_tmsi_nri_v_get(0x00000000, 10) -> nri_v=0x0 rc=0
3........|NRI->..................
400000000000000000000000000000000 tmsi nri_bitlen=10
5 0000000000 = 0x0 ok
6osmo_tmsi_nri_v_set(0x00000000, 0x0, 10) -> tmsi=0x00000000 rc=0
7 0000000000
800000000000000000000000000000000 ok
9
10osmo_tmsi_nri_v_get(0x00000000, 10) -> nri_v=0x0 rc=0
11........|NRI->..................
1200000000000000000000000000000000 tmsi nri_bitlen=10
13 0000000000 = 0x0 ok
14osmo_tmsi_nri_v_set(0x00000000, 0x7fff, 10) -> tmsi=0x00ffc000 rc=0
15 1111111111
1600000000111111111100000000000000 ok
17
18osmo_tmsi_nri_v_get(0xffffffff, 10) -> nri_v=0x3ff rc=0
19........|NRI->..................
2011111111111111111111111111111111 tmsi nri_bitlen=10
21 1111111111 = 0x3ff ok
22osmo_tmsi_nri_v_set(0xffffffff, 0x0, 10) -> tmsi=0xff003fff rc=0
23 0000000000
2411111111000000000011111111111111 ok
25
26osmo_tmsi_nri_v_get(0xffffffff, 10) -> nri_v=0x3ff rc=0
27........|NRI->..................
2811111111111111111111111111111111 tmsi nri_bitlen=10
29 1111111111 = 0x3ff ok
30osmo_tmsi_nri_v_set(0xffffffff, 0x7fff, 10) -> tmsi=0xffffffff rc=0
31 1111111111
3211111111111111111111111111111111 ok
33
34osmo_tmsi_nri_v_get(0x00000000, 5) -> nri_v=0x0 rc=0
35........|NRI->..................
3600000000000000000000000000000000 tmsi nri_bitlen=5
37 00000 = 0x0 ok
38osmo_tmsi_nri_v_set(0x00000000, 0x0, 5) -> tmsi=0x00000000 rc=0
39 00000
4000000000000000000000000000000000 ok
41
42osmo_tmsi_nri_v_get(0x00000000, 5) -> nri_v=0x0 rc=0
43........|NRI->..................
4400000000000000000000000000000000 tmsi nri_bitlen=5
45 00000 = 0x0 ok
46osmo_tmsi_nri_v_set(0x00000000, 0x7fff, 5) -> tmsi=0x00f80000 rc=0
47 11111
4800000000111110000000000000000000 ok
49
50osmo_tmsi_nri_v_get(0xffffffff, 5) -> nri_v=0x1f rc=0
51........|NRI->..................
5211111111111111111111111111111111 tmsi nri_bitlen=5
53 11111 = 0x1f ok
54osmo_tmsi_nri_v_set(0xffffffff, 0x0, 5) -> tmsi=0xff07ffff rc=0
55 00000
5611111111000001111111111111111111 ok
57
58osmo_tmsi_nri_v_get(0xffffffff, 5) -> nri_v=0x1f rc=0
59........|NRI->..................
6011111111111111111111111111111111 tmsi nri_bitlen=5
61 11111 = 0x1f ok
62osmo_tmsi_nri_v_set(0xffffffff, 0x7fff, 5) -> tmsi=0xffffffff rc=0
63 11111
6411111111111111111111111111111111 ok
65
66osmo_tmsi_nri_v_get(0x01234567, 8) -> nri_v=0x23 rc=0
67........|NRI->..................
6800000001001000110100010101100111 tmsi nri_bitlen=8
69 00100011 = 0x23 ok
70osmo_tmsi_nri_v_set(0x01234567, 0x42, 8) -> tmsi=0x01424567 rc=0
71 01000010
7200000001010000100100010101100111 ok
73
74osmo_tmsi_nri_v_get(0x01234567, 15) -> nri_v=0x11a2 rc=0
75........|NRI->..................
7600000001001000110100010101100111 tmsi nri_bitlen=15
77 001000110100010 = 0x11a2 ok
78osmo_tmsi_nri_v_set(0x01234567, 0x7fff, 15) -> tmsi=0x01ffff67 rc=0
79 111111111111111
8000000001111111111111111101100111 ok
81
82osmo_tmsi_nri_v_get(0x01234567, 16) -> nri_v=0xffffffff rc=-1
83 ok
84osmo_tmsi_nri_v_set(0x01234567, 0x7fff, 16) -> tmsi=0x01234567 rc=-1
85 ok
86
87osmo_tmsi_nri_v_get(0x01234567, 0) -> nri_v=0xffffffff rc=-1
88 ok
89osmo_tmsi_nri_v_set(0x01234567, 0x7fff, 0) -> tmsi=0x01234567 rc=-1
90 ok
91
92test_nri_validate()
93osmo_nri_v_validate(-32768, 10) = -1 ok
94osmo_nri_v_validate(-23, 10) = -1 ok
95osmo_nri_v_validate(-1, 10) = -1 ok
96osmo_nri_v_validate(0, 10) = 0 ok
97osmo_nri_v_validate(1023, 10) = 0 ok
98osmo_nri_v_validate(1024, 10) = 1 ok
99osmo_nri_v_validate(32767, 10) = 1 ok
100osmo_nri_v_validate(-32768, 5) = -1 ok
101osmo_nri_v_validate(-23, 5) = -1 ok
102osmo_nri_v_validate(-1, 5) = -1 ok
103osmo_nri_v_validate(0, 5) = 0 ok
104osmo_nri_v_validate(31, 5) = 0 ok
105osmo_nri_v_validate(32, 5) = 1 ok
106osmo_nri_v_validate(32767, 5) = 1 ok
107osmo_nri_v_validate(-32768, 1) = -1 ok
108osmo_nri_v_validate(-23, 1) = -1 ok
109osmo_nri_v_validate(-1, 1) = -1 ok
110osmo_nri_v_validate(0, 1) = 0 ok
111osmo_nri_v_validate(1, 1) = 0 ok
112osmo_nri_v_validate(2, 1) = 1 ok
113osmo_nri_v_validate(32767, 1) = 1 ok
114osmo_nri_v_validate(-32768, 0) = -1 ok
115osmo_nri_v_validate(-23, 0) = -1 ok
116osmo_nri_v_validate(-1, 0) = -1 ok
117osmo_nri_v_validate(0, 0) = 1 ok
118osmo_nri_v_validate(1, 0) = 1 ok
119osmo_nri_v_validate(32767, 0) = 1 ok
120
121test_nri_range_validate()
122osmo_nri_range_validate({-32768,-32768}, 10) = -1 ok
123osmo_nri_range_validate({-23,-23}, 10) = -1 ok
124osmo_nri_range_validate({-1,-1}, 10) = -1 ok
125osmo_nri_range_validate({0,0}, 10) = 0 ok
126osmo_nri_range_validate({1023,1023}, 10) = 0 ok
127osmo_nri_range_validate({1024,1024}, 10) = 1 ok
128osmo_nri_range_validate({32767,32767}, 10) = 1 ok
129osmo_nri_range_validate({-32768,-32768}, 5) = -1 ok
130osmo_nri_range_validate({-23,-23}, 5) = -1 ok
131osmo_nri_range_validate({-1,-1}, 5) = -1 ok
132osmo_nri_range_validate({0,0}, 5) = 0 ok
133osmo_nri_range_validate({31,31}, 5) = 0 ok
134osmo_nri_range_validate({32,32}, 5) = 1 ok
135osmo_nri_range_validate({32767,32767}, 5) = 1 ok
136osmo_nri_range_validate({-32768,-32768}, 1) = -1 ok
137osmo_nri_range_validate({-23,-23}, 1) = -1 ok
138osmo_nri_range_validate({-1,-1}, 1) = -1 ok
139osmo_nri_range_validate({0,0}, 1) = 0 ok
140osmo_nri_range_validate({1,1}, 1) = 0 ok
141osmo_nri_range_validate({2,2}, 1) = 1 ok
142osmo_nri_range_validate({32767,32767}, 1) = 1 ok
143osmo_nri_range_validate({-32768,-32768}, 0) = -1 ok
144osmo_nri_range_validate({-23,-23}, 0) = -1 ok
145osmo_nri_range_validate({-1,-1}, 0) = -1 ok
146osmo_nri_range_validate({0,0}, 0) = 1 ok
147osmo_nri_range_validate({1,1}, 0) = 1 ok
148osmo_nri_range_validate({32767,32767}, 0) = 1 ok
149osmo_nri_range_validate({0,-32768}, 10) = -2 ok
150osmo_nri_range_validate({0,-23}, 10) = -2 ok
151osmo_nri_range_validate({0,-1}, 10) = -2 ok
152osmo_nri_range_validate({0,0}, 10) = 0 ok
153osmo_nri_range_validate({0,1023}, 10) = 0 ok
154osmo_nri_range_validate({0,1024}, 10) = 2 ok
155osmo_nri_range_validate({0,32767}, 10) = 2 ok
156osmo_nri_range_validate({0,-32768}, 5) = -2 ok
157osmo_nri_range_validate({0,-23}, 5) = -2 ok
158osmo_nri_range_validate({0,-1}, 5) = -2 ok
159osmo_nri_range_validate({0,0}, 5) = 0 ok
160osmo_nri_range_validate({0,31}, 5) = 0 ok
161osmo_nri_range_validate({0,32}, 5) = 2 ok
162osmo_nri_range_validate({0,32767}, 5) = 2 ok
163osmo_nri_range_validate({0,-32768}, 1) = -2 ok
164osmo_nri_range_validate({0,-23}, 1) = -2 ok
165osmo_nri_range_validate({0,-1}, 1) = -2 ok
166osmo_nri_range_validate({0,0}, 1) = 0 ok
167osmo_nri_range_validate({0,1}, 1) = 0 ok
168osmo_nri_range_validate({0,2}, 1) = 2 ok
169osmo_nri_range_validate({0,32767}, 1) = 2 ok
170osmo_nri_range_validate({0,-32768}, 0) = 1 ok
171osmo_nri_range_validate({0,-23}, 0) = 1 ok
172osmo_nri_range_validate({0,-1}, 0) = 1 ok
173osmo_nri_range_validate({0,0}, 0) = 1 ok
174osmo_nri_range_validate({0,1}, 0) = 1 ok
175osmo_nri_range_validate({0,32767}, 0) = 1 ok
176osmo_nri_range_validate({0,0}, 10) = 0 ok
177osmo_nri_range_validate({1,0}, 10) = -3 ok
178osmo_nri_range_validate({1023,1023}, 10) = 0 ok
179osmo_nri_range_validate({1023,1022}, 10) = -3 ok
180osmo_nri_range_validate({1023,0}, 10) = -3 ok
181osmo_nri_range_validate({0,0}, 5) = 0 ok
182osmo_nri_range_validate({1,0}, 5) = -3 ok
183osmo_nri_range_validate({31,31}, 5) = 0 ok
184osmo_nri_range_validate({31,30}, 5) = -3 ok
185osmo_nri_range_validate({31,0}, 5) = -3 ok
186osmo_nri_range_validate({0,0}, 1) = 0 ok
187osmo_nri_range_validate({1,1}, 1) = 0 ok
188osmo_nri_range_validate({1,0}, 1) = -3 ok
189
190test_nri_list()
191nri_ranges = {
192};
193osmo_nri_v_matches_ranges(-32768) -> false
194osmo_nri_v_matches_ranges(-1) -> false
195osmo_nri_v_matches_ranges(0) -> false
196osmo_nri_v_matches_ranges(32767) -> false
197osmo_nri_v_matches_ranges(100) -> false
198osmo_nri_range_overlaps_ranges(-32768, -1) -> false
199osmo_nri_range_overlaps_ranges(-100, 100) -> false
200osmo_nri_range_overlaps_ranges(10, 20) -> false
201osmo_nri_ranges_add(100, 200) -> 0
202nri_ranges = {
203 { 100, 200 },
204};
205osmo_nri_v_matches_ranges(-32768) -> false
206osmo_nri_v_matches_ranges(-1) -> false
207osmo_nri_v_matches_ranges(0) -> false
208osmo_nri_v_matches_ranges(32767) -> false
209osmo_nri_v_matches_ranges(99) -> false
210osmo_nri_v_matches_ranges(100) -> true
211osmo_nri_v_matches_ranges(101) -> true
212osmo_nri_v_matches_ranges(199) -> true
213osmo_nri_v_matches_ranges(200) -> true
214osmo_nri_v_matches_ranges(201) -> false
215osmo_nri_range_overlaps_ranges(-32768, -1) -> false
216osmo_nri_range_overlaps_ranges(-100, 100) -> true
217osmo_nri_range_overlaps_ranges(10, 20) -> false
218osmo_nri_range_overlaps_ranges(10, 99) -> false
219osmo_nri_range_overlaps_ranges(10, 100) -> true
220osmo_nri_range_overlaps_ranges(10, 150) -> true
221osmo_nri_range_overlaps_ranges(99, 99) -> false
222osmo_nri_range_overlaps_ranges(100, 100) -> true
223osmo_nri_range_overlaps_ranges(150, 300) -> true
224osmo_nri_range_overlaps_ranges(200, 300) -> true
225osmo_nri_range_overlaps_ranges(201, 300) -> false
226
227del from start:
228osmo_nri_ranges_del(0, 110) -> 0
229nri_ranges = {
230 { 111, 200 },
231};
232osmo_nri_ranges_del(111, 111) -> 0
233nri_ranges = {
234 { 112, 200 },
235};
236osmo_nri_ranges_del(112, 199) -> 0
237nri_ranges = {
238 { 200, 200 },
239};
240osmo_nri_v_matches_ranges(-32768) -> false
241osmo_nri_v_matches_ranges(-1) -> false
242osmo_nri_v_matches_ranges(0) -> false
243osmo_nri_v_matches_ranges(32767) -> false
244osmo_nri_v_matches_ranges(199) -> false
245osmo_nri_v_matches_ranges(200) -> true
246osmo_nri_v_matches_ranges(201) -> false
247osmo_nri_range_overlaps_ranges(-32768, -1) -> false
248osmo_nri_range_overlaps_ranges(-1000, 1000) -> true
249osmo_nri_range_overlaps_ranges(0, 199) -> false
250osmo_nri_range_overlaps_ranges(0, 200) -> true
251osmo_nri_range_overlaps_ranges(0, 201) -> true
252osmo_nri_range_overlaps_ranges(0, 1000) -> true
253osmo_nri_range_overlaps_ranges(199, 199) -> false
254osmo_nri_range_overlaps_ranges(200, 200) -> true
255osmo_nri_range_overlaps_ranges(201, 201) -> false
256
257del from end:
258osmo_nri_ranges_add(100, 200) -> 0
259nri_ranges = {
260 { 100, 200 },
261};
262osmo_nri_ranges_del(190, 32767) -> 0
263nri_ranges = {
264 { 100, 189 },
265};
266osmo_nri_ranges_del(189, 189) -> 0
267nri_ranges = {
268 { 100, 188 },
269};
270osmo_nri_ranges_del(101, 188) -> 0
271nri_ranges = {
272 { 100, 100 },
273};
274osmo_nri_v_matches_ranges(-32768) -> false
275osmo_nri_v_matches_ranges(-1) -> false
276osmo_nri_v_matches_ranges(0) -> false
277osmo_nri_v_matches_ranges(32767) -> false
278osmo_nri_v_matches_ranges(99) -> false
279osmo_nri_v_matches_ranges(100) -> true
280osmo_nri_v_matches_ranges(101) -> false
281
282del from middle:
283osmo_nri_ranges_add(100, 200) -> 0
284nri_ranges = {
285 { 100, 200 },
286};
287osmo_nri_ranges_del(150, 160) -> 0
288nri_ranges = {
289 { 100, 149 },
290 { 161, 200 },
291};
292osmo_nri_ranges_del(110, 120) -> 0
293nri_ranges = {
294 { 100, 109 },
295 { 121, 149 },
296 { 161, 200 },
297};
298osmo_nri_ranges_del(130, 130) -> 0
299nri_ranges = {
300 { 100, 109 },
301 { 121, 129 },
302 { 131, 149 },
303 { 161, 200 },
304};
305osmo_nri_ranges_del(180, 190) -> 0
306nri_ranges = {
307 { 100, 109 },
308 { 121, 129 },
309 { 131, 149 },
310 { 161, 179 },
311 { 191, 200 },
312};
313osmo_nri_v_matches_ranges(-32768) -> false
314osmo_nri_v_matches_ranges(-1) -> false
315osmo_nri_v_matches_ranges(0) -> false
316osmo_nri_v_matches_ranges(32767) -> false
317osmo_nri_v_matches_ranges(99) -> false
318osmo_nri_v_matches_ranges(100) -> true
319osmo_nri_v_matches_ranges(109) -> true
320osmo_nri_v_matches_ranges(110) -> false
321osmo_nri_v_matches_ranges(120) -> false
322osmo_nri_v_matches_ranges(121) -> true
323osmo_nri_v_matches_ranges(129) -> true
324osmo_nri_v_matches_ranges(130) -> false
325osmo_nri_v_matches_ranges(131) -> true
326osmo_nri_v_matches_ranges(148) -> true
327osmo_nri_v_matches_ranges(149) -> true
328osmo_nri_v_matches_ranges(150) -> false
329osmo_nri_v_matches_ranges(160) -> false
330osmo_nri_v_matches_ranges(161) -> true
331osmo_nri_v_matches_ranges(170) -> true
332osmo_nri_v_matches_ranges(179) -> true
333osmo_nri_v_matches_ranges(180) -> false
334osmo_nri_v_matches_ranges(185) -> false
335osmo_nri_v_matches_ranges(190) -> false
336osmo_nri_v_matches_ranges(191) -> true
337osmo_nri_v_matches_ranges(195) -> true
338osmo_nri_v_matches_ranges(200) -> true
339osmo_nri_v_matches_ranges(201) -> false
340osmo_nri_v_matches_ranges(1000) -> false
341osmo_nri_range_overlaps_ranges(110, 120) -> false
342osmo_nri_range_overlaps_ranges(110, 130) -> true
343osmo_nri_range_overlaps_ranges(100, 200) -> true
344
345del across whole chunks:
346osmo_nri_ranges_del(115, 185) -> 0
347nri_ranges = {
348 { 100, 109 },
349 { 191, 200 },
350};
351osmo_nri_ranges_del(105, 195) -> 0
352nri_ranges = {
353 { 100, 104 },
354 { 196, 200 },
355};
356osmo_nri_ranges_del(0, 1000) -> 0
357nri_ranges = {
358};
359
360add to join chunks:
361osmo_nri_ranges_add(0, 100) -> 0
362nri_ranges = {
363 { 0, 100 },
364};
365osmo_nri_ranges_del(11, 19) -> 0
366nri_ranges = {
367 { 0, 10 },
368 { 20, 100 },
369};
370osmo_nri_ranges_del(23, 23) -> 0
371nri_ranges = {
372 { 0, 10 },
373 { 20, 22 },
374 { 24, 100 },
375};
376osmo_nri_ranges_del(30, 41) -> 0
377nri_ranges = {
378 { 0, 10 },
379 { 20, 22 },
380 { 24, 29 },
381 { 42, 100 },
382};
383osmo_nri_ranges_add(23, 23) -> 0
384nri_ranges = {
385 { 0, 10 },
386 { 20, 29 },
387 { 42, 100 },
388};
389osmo_nri_ranges_add(11, 41) -> 0
390nri_ranges = {
391 { 0, 100 },
392};
393osmo_nri_v_matches_ranges(0) -> true
394osmo_nri_v_matches_ranges(10) -> true
395osmo_nri_v_matches_ranges(11) -> true
396osmo_nri_v_matches_ranges(24) -> true
397osmo_nri_v_matches_ranges(41) -> true
398osmo_nri_v_matches_ranges(42) -> true
399osmo_nri_v_matches_ranges(100) -> true
400osmo_nri_v_matches_ranges(101) -> false
401
402border cases:
403osmo_nri_ranges_add(0, 0) -> 0
404nri_ranges = {
405 { 0, 100 },
406};
407osmo_nri_ranges_add(32767, 32767) -> 0
408nri_ranges = {
409 { 0, 100 },
410 { 32767, 32767 },
411};
412osmo_nri_ranges_add(1, 32766) -> 0
413nri_ranges = {
414 { 0, 32767 },
415};
416osmo_nri_v_matches_ranges(-32768) -> false
417osmo_nri_v_matches_ranges(-1) -> false
418osmo_nri_v_matches_ranges(0) -> true
419osmo_nri_v_matches_ranges(32767) -> true
420osmo_nri_ranges_del(0, 0) -> 0
421nri_ranges = {
422 { 1, 32767 },
423};
424osmo_nri_ranges_del(32767, 32767) -> 0
425nri_ranges = {
426 { 1, 32766 },
427};
428osmo_nri_ranges_del(1, 32766) -> 0
429nri_ranges = {
430};
431
432range errors:
433osmo_nri_ranges_add(-1, -1) -> -1
434nri_ranges = {
435};
436osmo_nri_ranges_add(-20, -10) -> -1
437nri_ranges = {
438};
439osmo_nri_ranges_add(100, 1) -> -1
440nri_ranges = {
441};
442osmo_nri_ranges_add(0, 32767) -> 0
443nri_ranges = {
444 { 0, 32767 },
445};
446osmo_nri_ranges_del(-1, -1) -> -1
447nri_ranges = {
448 { 0, 32767 },
449};
450osmo_nri_ranges_del(-20, -10) -> -1
451nri_ranges = {
452 { 0, 32767 },
453};
454osmo_nri_ranges_del(100, 1) -> -1
455nri_ranges = {
456 { 0, 32767 },
457};
458
459test_nri_limit_by_ranges()
460osmo_nri_ranges_add(10, 10) -> 0
461nri_ranges = {
462 { 10, 10 },
463};
464osmo_nri_ranges_add(20, 21) -> 0
465nri_ranges = {
466 { 10, 10 },
467 { 20, 21 },
468};
469osmo_nri_ranges_add(30, 32) -> 0
470nri_ranges = {
471 { 10, 10 },
472 { 20, 21 },
473 { 30, 32 },
474};
475osmo_nri_v_limit_by_ranges(0) -> nri_v=10 rc=0 ok
476osmo_nri_v_limit_by_ranges(1) -> nri_v=20 rc=0 ok
477osmo_nri_v_limit_by_ranges(2) -> nri_v=21 rc=0 ok
478osmo_nri_v_limit_by_ranges(3) -> nri_v=30 rc=0 ok
479osmo_nri_v_limit_by_ranges(4) -> nri_v=31 rc=0 ok
480osmo_nri_v_limit_by_ranges(5) -> nri_v=32 rc=0 ok
481osmo_nri_v_limit_by_ranges(6) -> nri_v=10 rc=0 ok
482osmo_nri_v_limit_by_ranges(7) -> nri_v=20 rc=0 ok
483osmo_nri_v_limit_by_ranges(8) -> nri_v=21 rc=0 ok
484osmo_nri_v_limit_by_ranges(9) -> nri_v=30 rc=0 ok
485osmo_nri_v_limit_by_ranges(10) -> nri_v=31 rc=0 ok
486osmo_nri_v_limit_by_ranges(11) -> nri_v=32 rc=0 ok
487osmo_nri_v_limit_by_ranges(12) -> nri_v=10 rc=0 ok
488osmo_nri_v_limit_by_ranges(13) -> nri_v=20 rc=0 ok
489osmo_nri_v_limit_by_ranges(14) -> nri_v=21 rc=0 ok
490osmo_nri_v_limit_by_ranges(15) -> nri_v=30 rc=0 ok
491osmo_nri_v_limit_by_ranges(16) -> nri_v=31 rc=0 ok
492osmo_nri_v_limit_by_ranges(17) -> nri_v=32 rc=0 ok
493osmo_nri_v_limit_by_ranges(18) -> nri_v=10 rc=0 ok
494osmo_tmsi_nri_v_limit_by_ranges(0x00000000, 8) -> tmsi=0x000a0000 nri_v=10 rc=0 ok
495osmo_tmsi_nri_v_limit_by_ranges(0x00010000, 8) -> tmsi=0x00140000 nri_v=20 rc=0 ok
496osmo_tmsi_nri_v_limit_by_ranges(0x00020000, 8) -> tmsi=0x00150000 nri_v=21 rc=0 ok
497osmo_tmsi_nri_v_limit_by_ranges(0x00030000, 8) -> tmsi=0x001e0000 nri_v=30 rc=0 ok
498osmo_tmsi_nri_v_limit_by_ranges(0x00040000, 8) -> tmsi=0x001f0000 nri_v=31 rc=0 ok
499osmo_tmsi_nri_v_limit_by_ranges(0x00050000, 8) -> tmsi=0x00200000 nri_v=32 rc=0 ok
500osmo_tmsi_nri_v_limit_by_ranges(0x00060000, 8) -> tmsi=0x000a0000 nri_v=10 rc=0 ok
501osmo_tmsi_nri_v_limit_by_ranges(0x00070000, 8) -> tmsi=0x00140000 nri_v=20 rc=0 ok
502osmo_tmsi_nri_v_limit_by_ranges(0x00080000, 8) -> tmsi=0x00150000 nri_v=21 rc=0 ok
503osmo_tmsi_nri_v_limit_by_ranges(0x00090000, 8) -> tmsi=0x001e0000 nri_v=30 rc=0 ok
504osmo_tmsi_nri_v_limit_by_ranges(0x000a0000, 8) -> tmsi=0x001f0000 nri_v=31 rc=0 ok
505osmo_tmsi_nri_v_limit_by_ranges(0x000b0000, 8) -> tmsi=0x00200000 nri_v=32 rc=0 ok
506osmo_tmsi_nri_v_limit_by_ranges(0x000c0000, 8) -> tmsi=0x000a0000 nri_v=10 rc=0 ok
507osmo_tmsi_nri_v_limit_by_ranges(0x000d0000, 8) -> tmsi=0x00140000 nri_v=20 rc=0 ok
508osmo_tmsi_nri_v_limit_by_ranges(0x000e0000, 8) -> tmsi=0x00150000 nri_v=21 rc=0 ok
509osmo_tmsi_nri_v_limit_by_ranges(0x000f0000, 8) -> tmsi=0x001e0000 nri_v=30 rc=0 ok
510osmo_tmsi_nri_v_limit_by_ranges(0x00100000, 8) -> tmsi=0x001f0000 nri_v=31 rc=0 ok
511osmo_tmsi_nri_v_limit_by_ranges(0x00110000, 8) -> tmsi=0x00200000 nri_v=32 rc=0 ok
512osmo_tmsi_nri_v_limit_by_ranges(0x00120000, 8) -> tmsi=0x000a0000 nri_v=10 rc=0 ok
513
514pass