Neels Hofmeyr | 0fd615f | 2019-01-26 20:36:12 +0100 | [diff] [blame] | 1 | |
| 2 | test_tdef_get() |
| 3 | T1=100s |
| 4 | osmo_tdef_get(1, s) = 100 |
| 5 | osmo_tdef_get(1, ms) = 100000 |
| 6 | osmo_tdef_get(1, m) = 2 |
| 7 | osmo_tdef_get(1, custom-unit) = 100 |
Pau Espin Pedrol | 1b75e4b | 2020-11-04 20:00:38 +0100 | [diff] [blame] | 8 | osmo_tdef_get(1, us) = 100000000 |
Neels Hofmeyr | 0fd615f | 2019-01-26 20:36:12 +0100 | [diff] [blame] | 9 | T2=100ms |
| 10 | osmo_tdef_get(2, s) = 1 |
| 11 | osmo_tdef_get(2, ms) = 100 |
| 12 | osmo_tdef_get(2, m) = 1 |
| 13 | osmo_tdef_get(2, custom-unit) = 100 |
Pau Espin Pedrol | 1b75e4b | 2020-11-04 20:00:38 +0100 | [diff] [blame] | 14 | osmo_tdef_get(2, us) = 100000 |
Pau Espin Pedrol | e81c2f4 | 2020-11-15 17:52:09 +0100 | [diff] [blame] | 15 | T3=50m |
| 16 | osmo_tdef_get(3, s) = 3000 |
| 17 | osmo_tdef_get(3, ms) = 3000000 |
| 18 | osmo_tdef_get(3, m) = 50 |
| 19 | osmo_tdef_get(3, custom-unit) = 50 |
| 20 | osmo_tdef_get(3, us) = 3000000000 |
Neels Hofmeyr | 0fd615f | 2019-01-26 20:36:12 +0100 | [diff] [blame] | 21 | T4=100custom-unit |
| 22 | osmo_tdef_get(4, s) = 100 |
| 23 | osmo_tdef_get(4, ms) = 100 |
| 24 | osmo_tdef_get(4, m) = 100 |
| 25 | osmo_tdef_get(4, custom-unit) = 100 |
Pau Espin Pedrol | 1b75e4b | 2020-11-04 20:00:38 +0100 | [diff] [blame] | 26 | osmo_tdef_get(4, us) = 100 |
Neels Hofmeyr | 0fd615f | 2019-01-26 20:36:12 +0100 | [diff] [blame] | 27 | T7=50s |
| 28 | osmo_tdef_get(7, s) = 50 |
| 29 | osmo_tdef_get(7, ms) = 50000 |
| 30 | osmo_tdef_get(7, m) = 1 |
| 31 | osmo_tdef_get(7, custom-unit) = 50 |
Pau Espin Pedrol | 1b75e4b | 2020-11-04 20:00:38 +0100 | [diff] [blame] | 32 | osmo_tdef_get(7, us) = 50000000 |
Neels Hofmeyr | 0fd615f | 2019-01-26 20:36:12 +0100 | [diff] [blame] | 33 | T8=300s |
| 34 | osmo_tdef_get(8, s) = 300 |
| 35 | osmo_tdef_get(8, ms) = 300000 |
| 36 | osmo_tdef_get(8, m) = 5 |
| 37 | osmo_tdef_get(8, custom-unit) = 300 |
Pau Espin Pedrol | 1b75e4b | 2020-11-04 20:00:38 +0100 | [diff] [blame] | 38 | osmo_tdef_get(8, us) = 300000000 |
Neels Hofmeyr | 0fd615f | 2019-01-26 20:36:12 +0100 | [diff] [blame] | 39 | T9=5m |
| 40 | osmo_tdef_get(9, s) = 300 |
| 41 | osmo_tdef_get(9, ms) = 300000 |
| 42 | osmo_tdef_get(9, m) = 5 |
| 43 | osmo_tdef_get(9, custom-unit) = 5 |
Pau Espin Pedrol | 1b75e4b | 2020-11-04 20:00:38 +0100 | [diff] [blame] | 44 | osmo_tdef_get(9, us) = 300000000 |
Neels Hofmeyr | 0fd615f | 2019-01-26 20:36:12 +0100 | [diff] [blame] | 45 | T10=20m |
| 46 | osmo_tdef_get(10, s) = 1200 |
| 47 | osmo_tdef_get(10, ms) = 1200000 |
| 48 | osmo_tdef_get(10, m) = 20 |
| 49 | osmo_tdef_get(10, custom-unit) = 20 |
Pau Espin Pedrol | 1b75e4b | 2020-11-04 20:00:38 +0100 | [diff] [blame] | 50 | osmo_tdef_get(10, us) = 1200000000 |
Neels Hofmeyr | 0fd615f | 2019-01-26 20:36:12 +0100 | [diff] [blame] | 51 | T1000=2000ms |
| 52 | osmo_tdef_get(1000, s) = 2 |
| 53 | osmo_tdef_get(1000, ms) = 2000 |
| 54 | osmo_tdef_get(1000, m) = 1 |
| 55 | osmo_tdef_get(1000, custom-unit) = 2000 |
Pau Espin Pedrol | 1b75e4b | 2020-11-04 20:00:38 +0100 | [diff] [blame] | 56 | osmo_tdef_get(1000, us) = 2000000 |
Pau Espin Pedrol | 2299cb5 | 2020-11-15 17:58:10 +0100 | [diff] [blame] | 57 | T1001=60000ms |
| 58 | osmo_tdef_get(1001, s) = 60 |
| 59 | osmo_tdef_get(1001, ms) = 60000 |
Neels Hofmeyr | 0fd615f | 2019-01-26 20:36:12 +0100 | [diff] [blame] | 60 | osmo_tdef_get(1001, m) = 1 |
Pau Espin Pedrol | 2299cb5 | 2020-11-15 17:58:10 +0100 | [diff] [blame] | 61 | osmo_tdef_get(1001, custom-unit) = 60000 |
| 62 | osmo_tdef_get(1001, us) = 60000000 |
Neels Hofmeyr | 0fd615f | 2019-01-26 20:36:12 +0100 | [diff] [blame] | 63 | T1004=1ms |
| 64 | osmo_tdef_get(1004, s) = 1 |
| 65 | osmo_tdef_get(1004, ms) = 1 |
| 66 | osmo_tdef_get(1004, m) = 1 |
| 67 | osmo_tdef_get(1004, custom-unit) = 1 |
Pau Espin Pedrol | 1b75e4b | 2020-11-04 20:00:38 +0100 | [diff] [blame] | 68 | osmo_tdef_get(1004, us) = 1000 |
Neels Hofmeyr | 0fd615f | 2019-01-26 20:36:12 +0100 | [diff] [blame] | 69 | T1005=0ms |
| 70 | osmo_tdef_get(1005, s) = 0 |
| 71 | osmo_tdef_get(1005, ms) = 0 |
| 72 | osmo_tdef_get(1005, m) = 0 |
| 73 | osmo_tdef_get(1005, custom-unit) = 0 |
Pau Espin Pedrol | 1b75e4b | 2020-11-04 20:00:38 +0100 | [diff] [blame] | 74 | osmo_tdef_get(1005, us) = 0 |
Neels Hofmeyr | 0fd615f | 2019-01-26 20:36:12 +0100 | [diff] [blame] | 75 | T1006=0s |
| 76 | osmo_tdef_get(1006, s) = 0 |
| 77 | osmo_tdef_get(1006, ms) = 0 |
| 78 | osmo_tdef_get(1006, m) = 0 |
| 79 | osmo_tdef_get(1006, custom-unit) = 0 |
Pau Espin Pedrol | 1b75e4b | 2020-11-04 20:00:38 +0100 | [diff] [blame] | 80 | osmo_tdef_get(1006, us) = 0 |
Neels Hofmeyr | 0fd615f | 2019-01-26 20:36:12 +0100 | [diff] [blame] | 81 | T1007=0m |
| 82 | osmo_tdef_get(1007, s) = 0 |
| 83 | osmo_tdef_get(1007, ms) = 0 |
| 84 | osmo_tdef_get(1007, m) = 0 |
| 85 | osmo_tdef_get(1007, custom-unit) = 0 |
Pau Espin Pedrol | 1b75e4b | 2020-11-04 20:00:38 +0100 | [diff] [blame] | 86 | osmo_tdef_get(1007, us) = 0 |
Neels Hofmeyr | 0fd615f | 2019-01-26 20:36:12 +0100 | [diff] [blame] | 87 | T1008=0custom-unit |
| 88 | osmo_tdef_get(1008, s) = 0 |
| 89 | osmo_tdef_get(1008, ms) = 0 |
| 90 | osmo_tdef_get(1008, m) = 0 |
| 91 | osmo_tdef_get(1008, custom-unit) = 0 |
Pau Espin Pedrol | 1b75e4b | 2020-11-04 20:00:38 +0100 | [diff] [blame] | 92 | osmo_tdef_get(1008, us) = 0 |
| 93 | T1009=0us |
| 94 | osmo_tdef_get(1009, s) = 0 |
| 95 | osmo_tdef_get(1009, ms) = 0 |
| 96 | osmo_tdef_get(1009, m) = 0 |
| 97 | osmo_tdef_get(1009, custom-unit) = 0 |
| 98 | osmo_tdef_get(1009, us) = 0 |
Neels Hofmeyr | 0fd615f | 2019-01-26 20:36:12 +0100 | [diff] [blame] | 99 | T0=1custom-unit |
| 100 | osmo_tdef_get(0, s) = 1 |
| 101 | osmo_tdef_get(0, ms) = 1 |
| 102 | osmo_tdef_get(0, m) = 1 |
| 103 | osmo_tdef_get(0, custom-unit) = 1 |
Pau Espin Pedrol | 1b75e4b | 2020-11-04 20:00:38 +0100 | [diff] [blame] | 104 | osmo_tdef_get(0, us) = 1 |
Neels Hofmeyr | 0fd615f | 2019-01-26 20:36:12 +0100 | [diff] [blame] | 105 | T123=1s |
| 106 | osmo_tdef_get(123, s) = 1 |
| 107 | osmo_tdef_get(123, ms) = 1000 |
| 108 | osmo_tdef_get(123, m) = 1 |
| 109 | osmo_tdef_get(123, custom-unit) = 1 |
Pau Espin Pedrol | 1b75e4b | 2020-11-04 20:00:38 +0100 | [diff] [blame] | 110 | osmo_tdef_get(123, us) = 1000000 |
Neels Hofmeyr | 0fd615f | 2019-01-26 20:36:12 +0100 | [diff] [blame] | 111 | |
| 112 | test_tdef_get_nonexisting() |
| 113 | osmo_tdef_get(tdefs, 5, s, 999) = 999 |
| 114 | osmo_tdef_get(tdefs, 5, ms, 999) = 999 |
| 115 | osmo_tdef_get(tdefs, 5, m, 999) = 999 |
| 116 | osmo_tdef_get(tdefs, 5, custom-unit, 999) = 999 |
Pau Espin Pedrol | 1b75e4b | 2020-11-04 20:00:38 +0100 | [diff] [blame] | 117 | osmo_tdef_get(tdefs, 5, us, 999) = 999 |
Neels Hofmeyr | 0fd615f | 2019-01-26 20:36:12 +0100 | [diff] [blame] | 118 | |
| 119 | test_tdef_set_and_get() |
| 120 | setting 7 = 42 |
| 121 | T7=42s(def=50) |
| 122 | osmo_tdef_get(7, ms) = 42000 |
| 123 | osmo_tdef_get(7, s) = 42 |
| 124 | osmo_tdef_get(7, m) = 1 |
| 125 | osmo_tdef_get(7, custom-unit) = 42 |
Pau Espin Pedrol | 1b75e4b | 2020-11-04 20:00:38 +0100 | [diff] [blame] | 126 | osmo_tdef_get(7, us) = 42000000 |
Neels Hofmeyr | 0fd615f | 2019-01-26 20:36:12 +0100 | [diff] [blame] | 127 | setting 7 = 420 |
| 128 | T7=420s(def=50) |
| 129 | osmo_tdef_get(7, ms) = 420000 |
| 130 | osmo_tdef_get(7, s) = 420 |
| 131 | osmo_tdef_get(7, m) = 7 |
| 132 | osmo_tdef_get(7, custom-unit) = 420 |
Pau Espin Pedrol | 1b75e4b | 2020-11-04 20:00:38 +0100 | [diff] [blame] | 133 | osmo_tdef_get(7, us) = 420000000 |
Pau Espin Pedrol | 0cbe8f0 | 2019-09-17 13:13:52 +0200 | [diff] [blame] | 134 | setting 7 = 10 (ERANGE) |
| 135 | T7=420s(def=50) |
| 136 | osmo_tdef_get(7, ms) = 420000 |
| 137 | osmo_tdef_get(7, s) = 420 |
| 138 | osmo_tdef_get(7, m) = 7 |
| 139 | osmo_tdef_get(7, custom-unit) = 420 |
Pau Espin Pedrol | 1b75e4b | 2020-11-04 20:00:38 +0100 | [diff] [blame] | 140 | osmo_tdef_get(7, us) = 420000000 |
Pau Espin Pedrol | 0cbe8f0 | 2019-09-17 13:13:52 +0200 | [diff] [blame] | 141 | setting 7 = 900 (ERANGE) |
| 142 | T7=420s(def=50) |
| 143 | osmo_tdef_get(7, ms) = 420000 |
| 144 | osmo_tdef_get(7, s) = 420 |
| 145 | osmo_tdef_get(7, m) = 7 |
| 146 | osmo_tdef_get(7, custom-unit) = 420 |
Pau Espin Pedrol | 1b75e4b | 2020-11-04 20:00:38 +0100 | [diff] [blame] | 147 | osmo_tdef_get(7, us) = 420000000 |
Pau Espin Pedrol | 9168cc9 | 2019-09-18 13:18:18 +0200 | [diff] [blame] | 148 | setting 23 = 50 (EEXIST) |
Neels Hofmeyr | 0fd615f | 2019-01-26 20:36:12 +0100 | [diff] [blame] | 149 | resetting |
| 150 | T7=50s |
| 151 | osmo_tdef_get(7, s) = 50 |
| 152 | |
| 153 | test_tdef_state_timeout() |
Neels Hofmeyr | 0fd615f | 2019-01-26 20:36:12 +0100 | [diff] [blame] | 154 | state=A T=0, no timeout |
| 155 | --> A (configured as T1 100 s) rc=0; state=A T=1, 100.000000 s remaining |
| 156 | --> B (configured as T2 100 ms) rc=0; state=B T=2, 1.000000 s remaining |
Pau Espin Pedrol | e81c2f4 | 2020-11-15 17:52:09 +0100 | [diff] [blame] | 157 | --> C (configured as T3 50 m) rc=0; state=C T=3, 3000.000000 s remaining |
Neels Hofmeyr | 0fd615f | 2019-01-26 20:36:12 +0100 | [diff] [blame] | 158 | --> D (configured as T4 100 custom-unit) rc=0; state=D T=4, 100.000000 s remaining |
| 159 | --> G (configured as T7 50 s) rc=0; state=G T=7, 50.000000 s remaining |
| 160 | --> H (configured as T8 300 s) rc=0; state=H T=8, 300.000000 s remaining |
| 161 | --> I (configured as T9 5 m) rc=0; state=I T=9, 300.000000 s remaining |
| 162 | --> J (configured as T10 20 m) rc=0; state=J T=10, 1200.000000 s remaining |
| 163 | - test keep_timer: |
Neels Hofmeyr | 4f54c6c | 2019-03-06 06:03:24 +0100 | [diff] [blame] | 164 | Time passes: 123.045678 s |
Neels Hofmeyr | 0fd615f | 2019-01-26 20:36:12 +0100 | [diff] [blame] | 165 | state=J T=10, 1076.954322 s remaining |
| 166 | --> K (configured as T0(keep_timer) 1 custom-unit) rc=0; state=K T=10, 1076.954322 s remaining |
| 167 | --> A (configured as T1 100 s) rc=0; state=A T=1, 100.000000 s remaining |
Neels Hofmeyr | 4f54c6c | 2019-03-06 06:03:24 +0100 | [diff] [blame] | 168 | Time passes: 23.045678 s |
Neels Hofmeyr | 0fd615f | 2019-01-26 20:36:12 +0100 | [diff] [blame] | 169 | state=A T=1, 76.954322 s remaining |
| 170 | --> K (configured as T0(keep_timer) 1 custom-unit) rc=0; state=K T=1, 76.954322 s remaining |
| 171 | --> A (configured as T1 100 s) rc=0; state=A T=1, 100.000000 s remaining |
Neels Hofmeyr | 4f54c6c | 2019-03-06 06:03:24 +0100 | [diff] [blame] | 172 | Time passes: 23.045678 s |
Neels Hofmeyr | 0fd615f | 2019-01-26 20:36:12 +0100 | [diff] [blame] | 173 | state=A T=1, 76.954322 s remaining |
Neels Hofmeyr | d4b79c8 | 2019-03-06 05:43:23 +0100 | [diff] [blame] | 174 | --> L (configured as T123(keep_timer) 1 s) rc=0; state=L T=1, 76.954322 s remaining |
Neels Hofmeyr | 4ea6982 | 2019-03-06 06:14:01 +0100 | [diff] [blame] | 175 | --> O (no timer configured for this state) rc=0; state=O T=0, no timeout |
Neels Hofmeyr | d4b79c8 | 2019-03-06 05:43:23 +0100 | [diff] [blame] | 176 | --> L (configured as T123(keep_timer) 1 s) rc=0; state=L T=123, 1.000000 s remaining |
Neels Hofmeyr | 0fd615f | 2019-01-26 20:36:12 +0100 | [diff] [blame] | 177 | - test T=0: |
Neels Hofmeyr | 4ea6982 | 2019-03-06 06:14:01 +0100 | [diff] [blame] | 178 | --> O (no timer configured for this state) rc=0; state=O T=0, no timeout |
Neels Hofmeyr | 0fd615f | 2019-01-26 20:36:12 +0100 | [diff] [blame] | 179 | - test no timer: |
Neels Hofmeyr | 4ea6982 | 2019-03-06 06:14:01 +0100 | [diff] [blame] | 180 | --> X (no timer configured for this state) rc=0; state=X T=0, no timeout |
Neels Hofmeyr | 0fd615f | 2019-01-26 20:36:12 +0100 | [diff] [blame] | 181 | - test undefined timer, using default_val arg of osmo_tdef_fsm_inst_state_chg(), here passed as 999: |
Neels Hofmeyr | 7b740f7 | 2019-02-06 01:08:43 +0100 | [diff] [blame] | 182 | --> Y (configured as T666 0 -) rc=0; state=Y T=666, 999.000000 s remaining |
Neels Hofmeyr | 0fd615f | 2019-01-26 20:36:12 +0100 | [diff] [blame] | 183 | - test disallowed transition: |
Neels Hofmeyr | 4ea6982 | 2019-03-06 06:14:01 +0100 | [diff] [blame] | 184 | --> Z (no timer configured for this state) rc=0; state=Z T=0, no timeout |
| 185 | --> B (configured as T2 100 ms) rc=-1; state=Z T=0, no timeout |
Pau Espin Pedrol | e81c2f4 | 2020-11-15 17:52:09 +0100 | [diff] [blame] | 186 | --> C (configured as T3 50 m) rc=-1; state=Z T=0, no timeout |
Neels Hofmeyr | 4ea6982 | 2019-03-06 06:14:01 +0100 | [diff] [blame] | 187 | --> D (configured as T4 100 custom-unit) rc=-1; state=Z T=0, no timeout |