Repository navigation
Commit 7dd3126
committed
test(run-engine): cover the future-head window guard a mutation audit found bare
A variant whose head is scheduled in the future reports 'notReady' so pass 1
declines to spend a window slot on it. That was added deliberately and its comment
calls it load-bearing, but deleting the report left all four vtime suites green:
the behaviour was defended by comment and by nothing else.
Found by mutating the production Lua one change at a time and rerunning the
suites, on the principle that a green run against a broken invariant is a hole.
Seven of eight mutations were caught, some by more than twenty assertions; this
was the one that walked through. It is the same shape as the concurrency-gate bug
fixed in the previous commit, which is the uncomfortable part: the guard for one
half of the problem had no test while the other half was actively broken.
The test mirrors the gated one. Enough future-headed variants to fill the pass-1
window, sorted ahead on tag, and a servable variant behind them that fair order
says to serve first and age order says to serve last. Verified in both directions:
it passes against the real script and fails against the mutation with
'expected old to be owed', which is precisely the silent fall back to age order.1 parent 346ad05 commit 7dd3126
1 file changed
Lines changed: 74 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
150 | 150 | | |
151 | 151 | | |
152 | 152 | | |
| 153 | + | |
| 154 | + | |
| 155 | + | |
| 156 | + | |
| 157 | + | |
| 158 | + | |
| 159 | + | |
| 160 | + | |
| 161 | + | |
| 162 | + | |
| 163 | + | |
| 164 | + | |
| 165 | + | |
| 166 | + | |
| 167 | + | |
| 168 | + | |
| 169 | + | |
| 170 | + | |
| 171 | + | |
| 172 | + | |
| 173 | + | |
| 174 | + | |
| 175 | + | |
| 176 | + | |
| 177 | + | |
| 178 | + | |
| 179 | + | |
| 180 | + | |
| 181 | + | |
| 182 | + | |
| 183 | + | |
| 184 | + | |
| 185 | + | |
| 186 | + | |
| 187 | + | |
| 188 | + | |
| 189 | + | |
| 190 | + | |
| 191 | + | |
| 192 | + | |
| 193 | + | |
| 194 | + | |
| 195 | + | |
| 196 | + | |
| 197 | + | |
| 198 | + | |
| 199 | + | |
| 200 | + | |
| 201 | + | |
| 202 | + | |
| 203 | + | |
| 204 | + | |
| 205 | + | |
| 206 | + | |
| 207 | + | |
| 208 | + | |
| 209 | + | |
| 210 | + | |
| 211 | + | |
| 212 | + | |
| 213 | + | |
| 214 | + | |
| 215 | + | |
| 216 | + | |
| 217 | + | |
| 218 | + | |
| 219 | + | |
| 220 | + | |
| 221 | + | |
| 222 | + | |
| 223 | + | |
| 224 | + | |
| 225 | + | |
| 226 | + | |
153 | 227 | | |
0 commit comments