blob: d934292fab836d8a7e4bf991fbdf032ba826bb23 [file] [log] [blame]
Neels Hofmeyr0fd615f2019-01-26 20:36:12 +01001
2test_tdef_get()
3T1=100s
4osmo_tdef_get(1, s) = 100
5osmo_tdef_get(1, ms) = 100000
6osmo_tdef_get(1, m) = 2
7osmo_tdef_get(1, custom-unit) = 100
Pau Espin Pedrol1b75e4b2020-11-04 20:00:38 +01008osmo_tdef_get(1, us) = 100000000
Neels Hofmeyr0fd615f2019-01-26 20:36:12 +01009T2=100ms
10osmo_tdef_get(2, s) = 1
11osmo_tdef_get(2, ms) = 100
12osmo_tdef_get(2, m) = 1
13osmo_tdef_get(2, custom-unit) = 100
Pau Espin Pedrol1b75e4b2020-11-04 20:00:38 +010014osmo_tdef_get(2, us) = 100000
Pau Espin Pedrole81c2f42020-11-15 17:52:09 +010015T3=50m
16osmo_tdef_get(3, s) = 3000
17osmo_tdef_get(3, ms) = 3000000
18osmo_tdef_get(3, m) = 50
19osmo_tdef_get(3, custom-unit) = 50
20osmo_tdef_get(3, us) = 3000000000
Neels Hofmeyr0fd615f2019-01-26 20:36:12 +010021T4=100custom-unit
22osmo_tdef_get(4, s) = 100
23osmo_tdef_get(4, ms) = 100
24osmo_tdef_get(4, m) = 100
25osmo_tdef_get(4, custom-unit) = 100
Pau Espin Pedrol1b75e4b2020-11-04 20:00:38 +010026osmo_tdef_get(4, us) = 100
Vadim Yanitskiye30d22a2023-12-30 04:22:26 +070027T-5=100ms
28osmo_tdef_get(-5, s) = 1
29osmo_tdef_get(-5, ms) = 100
30osmo_tdef_get(-5, m) = 1
31osmo_tdef_get(-5, custom-unit) = 100
32osmo_tdef_get(-5, us) = 100000
33T-6=100us
34osmo_tdef_get(-6, s) = 1
35osmo_tdef_get(-6, ms) = 1
36osmo_tdef_get(-6, m) = 1
37osmo_tdef_get(-6, custom-unit) = 100
38osmo_tdef_get(-6, us) = 100
Neels Hofmeyr0fd615f2019-01-26 20:36:12 +010039T7=50s
40osmo_tdef_get(7, s) = 50
41osmo_tdef_get(7, ms) = 50000
42osmo_tdef_get(7, m) = 1
43osmo_tdef_get(7, custom-unit) = 50
Pau Espin Pedrol1b75e4b2020-11-04 20:00:38 +010044osmo_tdef_get(7, us) = 50000000
Neels Hofmeyr0fd615f2019-01-26 20:36:12 +010045T8=300s
46osmo_tdef_get(8, s) = 300
47osmo_tdef_get(8, ms) = 300000
48osmo_tdef_get(8, m) = 5
49osmo_tdef_get(8, custom-unit) = 300
Pau Espin Pedrol1b75e4b2020-11-04 20:00:38 +010050osmo_tdef_get(8, us) = 300000000
Neels Hofmeyr0fd615f2019-01-26 20:36:12 +010051T9=5m
52osmo_tdef_get(9, s) = 300
53osmo_tdef_get(9, ms) = 300000
54osmo_tdef_get(9, m) = 5
55osmo_tdef_get(9, custom-unit) = 5
Pau Espin Pedrol1b75e4b2020-11-04 20:00:38 +010056osmo_tdef_get(9, us) = 300000000
Neels Hofmeyr0fd615f2019-01-26 20:36:12 +010057T10=20m
58osmo_tdef_get(10, s) = 1200
59osmo_tdef_get(10, ms) = 1200000
60osmo_tdef_get(10, m) = 20
61osmo_tdef_get(10, custom-unit) = 20
Pau Espin Pedrol1b75e4b2020-11-04 20:00:38 +010062osmo_tdef_get(10, us) = 1200000000
Neels Hofmeyr0fd615f2019-01-26 20:36:12 +010063T1000=2000ms
64osmo_tdef_get(1000, s) = 2
65osmo_tdef_get(1000, ms) = 2000
66osmo_tdef_get(1000, m) = 1
67osmo_tdef_get(1000, custom-unit) = 2000
Pau Espin Pedrol1b75e4b2020-11-04 20:00:38 +010068osmo_tdef_get(1000, us) = 2000000
Pau Espin Pedrol2299cb52020-11-15 17:58:10 +010069T1001=60000ms
70osmo_tdef_get(1001, s) = 60
71osmo_tdef_get(1001, ms) = 60000
Neels Hofmeyr0fd615f2019-01-26 20:36:12 +010072osmo_tdef_get(1001, m) = 1
Pau Espin Pedrol2299cb52020-11-15 17:58:10 +010073osmo_tdef_get(1001, custom-unit) = 60000
74osmo_tdef_get(1001, us) = 60000000
Neels Hofmeyr0fd615f2019-01-26 20:36:12 +010075T1004=1ms
76osmo_tdef_get(1004, s) = 1
77osmo_tdef_get(1004, ms) = 1
78osmo_tdef_get(1004, m) = 1
79osmo_tdef_get(1004, custom-unit) = 1
Pau Espin Pedrol1b75e4b2020-11-04 20:00:38 +010080osmo_tdef_get(1004, us) = 1000
Neels Hofmeyr0fd615f2019-01-26 20:36:12 +010081T1005=0ms
82osmo_tdef_get(1005, s) = 0
83osmo_tdef_get(1005, ms) = 0
84osmo_tdef_get(1005, m) = 0
85osmo_tdef_get(1005, custom-unit) = 0
Pau Espin Pedrol1b75e4b2020-11-04 20:00:38 +010086osmo_tdef_get(1005, us) = 0
Neels Hofmeyr0fd615f2019-01-26 20:36:12 +010087T1006=0s
88osmo_tdef_get(1006, s) = 0
89osmo_tdef_get(1006, ms) = 0
90osmo_tdef_get(1006, m) = 0
91osmo_tdef_get(1006, custom-unit) = 0
Pau Espin Pedrol1b75e4b2020-11-04 20:00:38 +010092osmo_tdef_get(1006, us) = 0
Neels Hofmeyr0fd615f2019-01-26 20:36:12 +010093T1007=0m
94osmo_tdef_get(1007, s) = 0
95osmo_tdef_get(1007, ms) = 0
96osmo_tdef_get(1007, m) = 0
97osmo_tdef_get(1007, custom-unit) = 0
Pau Espin Pedrol1b75e4b2020-11-04 20:00:38 +010098osmo_tdef_get(1007, us) = 0
Neels Hofmeyr0fd615f2019-01-26 20:36:12 +010099T1008=0custom-unit
100osmo_tdef_get(1008, s) = 0
101osmo_tdef_get(1008, ms) = 0
102osmo_tdef_get(1008, m) = 0
103osmo_tdef_get(1008, custom-unit) = 0
Pau Espin Pedrol1b75e4b2020-11-04 20:00:38 +0100104osmo_tdef_get(1008, us) = 0
105T1009=0us
106osmo_tdef_get(1009, s) = 0
107osmo_tdef_get(1009, ms) = 0
108osmo_tdef_get(1009, m) = 0
109osmo_tdef_get(1009, custom-unit) = 0
110osmo_tdef_get(1009, us) = 0
Neels Hofmeyr0fd615f2019-01-26 20:36:12 +0100111T0=1custom-unit
112osmo_tdef_get(0, s) = 1
113osmo_tdef_get(0, ms) = 1
114osmo_tdef_get(0, m) = 1
115osmo_tdef_get(0, custom-unit) = 1
Pau Espin Pedrol1b75e4b2020-11-04 20:00:38 +0100116osmo_tdef_get(0, us) = 1
Neels Hofmeyr0fd615f2019-01-26 20:36:12 +0100117T123=1s
118osmo_tdef_get(123, s) = 1
119osmo_tdef_get(123, ms) = 1000
120osmo_tdef_get(123, m) = 1
121osmo_tdef_get(123, custom-unit) = 1
Pau Espin Pedrol1b75e4b2020-11-04 20:00:38 +0100122osmo_tdef_get(123, us) = 1000000
Neels Hofmeyr0fd615f2019-01-26 20:36:12 +0100123
124test_tdef_get_nonexisting()
125osmo_tdef_get(tdefs, 5, s, 999) = 999
126osmo_tdef_get(tdefs, 5, ms, 999) = 999
127osmo_tdef_get(tdefs, 5, m, 999) = 999
128osmo_tdef_get(tdefs, 5, custom-unit, 999) = 999
Pau Espin Pedrol1b75e4b2020-11-04 20:00:38 +0100129osmo_tdef_get(tdefs, 5, us, 999) = 999
Neels Hofmeyr0fd615f2019-01-26 20:36:12 +0100130
131test_tdef_set_and_get()
132setting 7 = 42
133T7=42s(def=50)
134osmo_tdef_get(7, ms) = 42000
135osmo_tdef_get(7, s) = 42
136osmo_tdef_get(7, m) = 1
137osmo_tdef_get(7, custom-unit) = 42
Pau Espin Pedrol1b75e4b2020-11-04 20:00:38 +0100138osmo_tdef_get(7, us) = 42000000
Neels Hofmeyr0fd615f2019-01-26 20:36:12 +0100139setting 7 = 420
140T7=420s(def=50)
141osmo_tdef_get(7, ms) = 420000
142osmo_tdef_get(7, s) = 420
143osmo_tdef_get(7, m) = 7
144osmo_tdef_get(7, custom-unit) = 420
Pau Espin Pedrol1b75e4b2020-11-04 20:00:38 +0100145osmo_tdef_get(7, us) = 420000000
Pau Espin Pedrol0cbe8f02019-09-17 13:13:52 +0200146setting 7 = 10 (ERANGE)
147T7=420s(def=50)
148osmo_tdef_get(7, ms) = 420000
149osmo_tdef_get(7, s) = 420
150osmo_tdef_get(7, m) = 7
151osmo_tdef_get(7, custom-unit) = 420
Pau Espin Pedrol1b75e4b2020-11-04 20:00:38 +0100152osmo_tdef_get(7, us) = 420000000
Pau Espin Pedrol0cbe8f02019-09-17 13:13:52 +0200153setting 7 = 900 (ERANGE)
154T7=420s(def=50)
155osmo_tdef_get(7, ms) = 420000
156osmo_tdef_get(7, s) = 420
157osmo_tdef_get(7, m) = 7
158osmo_tdef_get(7, custom-unit) = 420
Pau Espin Pedrol1b75e4b2020-11-04 20:00:38 +0100159osmo_tdef_get(7, us) = 420000000
Pau Espin Pedrol9168cc92019-09-18 13:18:18 +0200160setting 23 = 50 (EEXIST)
Neels Hofmeyr0fd615f2019-01-26 20:36:12 +0100161resetting
162T7=50s
163osmo_tdef_get(7, s) = 50
164
165test_tdef_state_timeout()
Neels Hofmeyr0fd615f2019-01-26 20:36:12 +0100166state=A T=0, no timeout
167 --> A (configured as T1 100 s) rc=0; state=A T=1, 100.000000 s remaining
168 --> B (configured as T2 100 ms) rc=0; state=B T=2, 1.000000 s remaining
Pau Espin Pedrole81c2f42020-11-15 17:52:09 +0100169 --> C (configured as T3 50 m) rc=0; state=C T=3, 3000.000000 s remaining
Neels Hofmeyr0fd615f2019-01-26 20:36:12 +0100170 --> D (configured as T4 100 custom-unit) rc=0; state=D T=4, 100.000000 s remaining
Vadim Yanitskiye30d22a2023-12-30 04:22:26 +0700171 --> E (configured as T-5 100 ms) rc=0; state=E T=-5, 1.000000 s remaining
172 --> F (configured as T-6 100 us) rc=0; state=F T=-6, 1.000000 s remaining
Neels Hofmeyr0fd615f2019-01-26 20:36:12 +0100173 --> G (configured as T7 50 s) rc=0; state=G T=7, 50.000000 s remaining
174 --> H (configured as T8 300 s) rc=0; state=H T=8, 300.000000 s remaining
175 --> I (configured as T9 5 m) rc=0; state=I T=9, 300.000000 s remaining
176 --> J (configured as T10 20 m) rc=0; state=J T=10, 1200.000000 s remaining
177- test keep_timer:
Neels Hofmeyr4f54c6c2019-03-06 06:03:24 +0100178Time passes: 123.045678 s
Neels Hofmeyr0fd615f2019-01-26 20:36:12 +0100179state=J T=10, 1076.954322 s remaining
180 --> K (configured as T0(keep_timer) 1 custom-unit) rc=0; state=K T=10, 1076.954322 s remaining
181 --> A (configured as T1 100 s) rc=0; state=A T=1, 100.000000 s remaining
Neels Hofmeyr4f54c6c2019-03-06 06:03:24 +0100182Time passes: 23.045678 s
Neels Hofmeyr0fd615f2019-01-26 20:36:12 +0100183state=A T=1, 76.954322 s remaining
184 --> K (configured as T0(keep_timer) 1 custom-unit) rc=0; state=K T=1, 76.954322 s remaining
185 --> A (configured as T1 100 s) rc=0; state=A T=1, 100.000000 s remaining
Neels Hofmeyr4f54c6c2019-03-06 06:03:24 +0100186Time passes: 23.045678 s
Neels Hofmeyr0fd615f2019-01-26 20:36:12 +0100187state=A T=1, 76.954322 s remaining
Neels Hofmeyrd4b79c82019-03-06 05:43:23 +0100188 --> L (configured as T123(keep_timer) 1 s) rc=0; state=L T=1, 76.954322 s remaining
Neels Hofmeyr4ea69822019-03-06 06:14:01 +0100189 --> O (no timer configured for this state) rc=0; state=O T=0, no timeout
Neels Hofmeyrd4b79c82019-03-06 05:43:23 +0100190 --> L (configured as T123(keep_timer) 1 s) rc=0; state=L T=123, 1.000000 s remaining
Neels Hofmeyr0fd615f2019-01-26 20:36:12 +0100191- test T=0:
Neels Hofmeyr4ea69822019-03-06 06:14:01 +0100192 --> O (no timer configured for this state) rc=0; state=O T=0, no timeout
Neels Hofmeyr0fd615f2019-01-26 20:36:12 +0100193- test no timer:
Neels Hofmeyr4ea69822019-03-06 06:14:01 +0100194 --> X (no timer configured for this state) rc=0; state=X T=0, no timeout
Neels Hofmeyr0fd615f2019-01-26 20:36:12 +0100195- test undefined timer, using default_val arg of osmo_tdef_fsm_inst_state_chg(), here passed as 999:
Neels Hofmeyr7b740f72019-02-06 01:08:43 +0100196 --> Y (configured as T666 0 -) rc=0; state=Y T=666, 999.000000 s remaining
Neels Hofmeyr0fd615f2019-01-26 20:36:12 +0100197- test disallowed transition:
Neels Hofmeyr4ea69822019-03-06 06:14:01 +0100198 --> Z (no timer configured for this state) rc=0; state=Z T=0, no timeout
199 --> B (configured as T2 100 ms) rc=-1; state=Z T=0, no timeout
Pau Espin Pedrole81c2f42020-11-15 17:52:09 +0100200 --> C (configured as T3 50 m) rc=-1; state=Z T=0, no timeout
Neels Hofmeyr4ea69822019-03-06 06:14:01 +0100201 --> D (configured as T4 100 custom-unit) rc=-1; state=Z T=0, no timeout