Commit c4502c6
committed
fix(uts): deterministic smoke test, contract-correct mocks, run-to-quiescence FakeClock
Fixes the CI-red UnitInfraSmokeTest race and lands the review/spec-alignment
round on the shared UTS infra:
- Root cause of the CI flake: FakeClock.waitOn performs a real timed wait, so
the disconnected-retry fires on wall-clock regardless of advance() — the
"no attempt before advance" assertion was unassertable. The smoke test now
owns attempt #2 via the buffered awaitConnectionAttempt() (32/32 green incl.
CPU-saturation runs) and README §6.4/§9 teach the true semantics.
- FakeClock: advance() now runs due work to quiescence (cascades and timers
created mid-advance fire within the same advance — the spec's Fake-time
semantics Guarantee); timers/pending hardened against SDK-thread races.
The waitOn advisory seam is unchanged. New cascade smoke test covers it.
- Mock contract fixes from review triage (verified against the UTS docs):
transport cancel() now delivers listener.onClose; respondWith honors the
headers param and JSON-serializes non-String bodies; SandboxApp checks HTTP
status before parsing; delivery executor shutdown; @volatile channel fields;
await helpers unregister listeners on success; AtomicReference for the
cross-thread query-params capture.
- Docs: uts/README rewritten claims verified against sources; stale
"reflection" wording fixed in the skill's objects-mapping notes.1 parent 2d3128f commit c4502c6
14 files changed
Lines changed: 190 additions & 62 deletions
File tree
- .claude/skills/uts-to-kotlin/references
- java
- lib/src/test/kotlin/io/ably/lib/uts/unit/realtime
- liveobjects/src/test/kotlin/io/ably/lib/liveobjects/uts/unit
- uts
- src
- main/kotlin/io/ably/lib/uts/infra
- integration
- unit
- test/kotlin/io/ably/lib/uts/unit
Lines changed: 4 additions & 3 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
401 | 401 | | |
402 | 402 | | |
403 | 403 | | |
404 | | - | |
405 | | - | |
| 404 | + | |
| 405 | + | |
| 406 | + | |
406 | 407 | | |
407 | 408 | | |
408 | 409 | | |
| |||
515 | 516 | | |
516 | 517 | | |
517 | 518 | | |
518 | | - | |
| 519 | + | |
519 | 520 | | |
520 | 521 | | |
521 | 522 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
40 | 40 | | |
41 | 41 | | |
42 | 42 | | |
43 | | - | |
| 43 | + | |
| 44 | + | |
| 45 | + | |
44 | 46 | | |
45 | 47 | | |
46 | 48 | | |
| |||
Lines changed: 7 additions & 4 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
12 | 12 | | |
13 | 13 | | |
14 | 14 | | |
| 15 | + | |
15 | 16 | | |
16 | 17 | | |
17 | 18 | | |
| |||
322 | 323 | | |
323 | 324 | | |
324 | 325 | | |
325 | | - | |
| 326 | + | |
| 327 | + | |
| 328 | + | |
326 | 329 | | |
327 | 330 | | |
328 | | - | |
| 331 | + | |
329 | 332 | | |
330 | 333 | | |
331 | 334 | | |
| |||
349 | 352 | | |
350 | 353 | | |
351 | 354 | | |
352 | | - | |
353 | | - | |
| 355 | + | |
| 356 | + | |
354 | 357 | | |
355 | 358 | | |
356 | 359 | | |
| |||
Lines changed: 2 additions & 1 deletion
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
252 | 252 | | |
253 | 253 | | |
254 | 254 | | |
255 | | - | |
| 255 | + | |
| 256 | + | |
256 | 257 | | |
257 | 258 | | |
258 | 259 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
214 | 214 | | |
215 | 215 | | |
216 | 216 | | |
217 | | - | |
218 | | - | |
| 217 | + | |
219 | 218 | | |
220 | 219 | | |
221 | | - | |
222 | | - | |
223 | | - | |
224 | | - | |
225 | | - | |
226 | | - | |
227 | | - | |
228 | | - | |
| 220 | + | |
| 221 | + | |
| 222 | + | |
| 223 | + | |
| 224 | + | |
| 225 | + | |
| 226 | + | |
| 227 | + | |
| 228 | + | |
229 | 229 | | |
230 | 230 | | |
231 | 231 | | |
| |||
462 | 462 | | |
463 | 463 | | |
464 | 464 | | |
465 | | - | |
| 465 | + | |
| 466 | + | |
| 467 | + | |
| 468 | + | |
466 | 469 | | |
467 | | - | |
| 470 | + | |
| 471 | + | |
| 472 | + | |
| 473 | + | |
| 474 | + | |
468 | 475 | | |
469 | 476 | | |
470 | 477 | | |
| |||
595 | 602 | | |
596 | 603 | | |
597 | 604 | | |
598 | | - | |
| 605 | + | |
| 606 | + | |
599 | 607 | | |
600 | 608 | | |
601 | 609 | | |
| |||
632 | 640 | | |
633 | 641 | | |
634 | 642 | | |
635 | | - | |
636 | | - | |
637 | | - | |
| 643 | + | |
| 644 | + | |
| 645 | + | |
| 646 | + | |
| 647 | + | |
| 648 | + | |
638 | 649 | | |
639 | | - | |
640 | | - | |
| 650 | + | |
| 651 | + | |
641 | 652 | | |
642 | 653 | | |
643 | 654 | | |
| |||
688 | 699 | | |
689 | 700 | | |
690 | 701 | | |
| 702 | + | |
| 703 | + | |
| 704 | + | |
| 705 | + | |
| 706 | + | |
| 707 | + | |
| 708 | + | |
| 709 | + | |
691 | 710 | | |
692 | 711 | | |
693 | 712 | | |
| |||
1110 | 1129 | | |
1111 | 1130 | | |
1112 | 1131 | | |
1113 | | - | |
| 1132 | + | |
1114 | 1133 | | |
1115 | 1134 | | |
1116 | 1135 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
28 | 28 | | |
29 | 29 | | |
30 | 30 | | |
31 | | - | |
32 | | - | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
33 | 37 | | |
34 | 38 | | |
35 | | - | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
| 42 | + | |
36 | 43 | | |
37 | 44 | | |
38 | 45 | | |
| |||
80 | 87 | | |
81 | 88 | | |
82 | 89 | | |
83 | | - | |
84 | | - | |
| 90 | + | |
| 91 | + | |
| 92 | + | |
| 93 | + | |
| 94 | + | |
| 95 | + | |
85 | 96 | | |
86 | 97 | | |
87 | | - | |
| 98 | + | |
| 99 | + | |
| 100 | + | |
| 101 | + | |
88 | 102 | | |
89 | 103 | | |
90 | 104 | | |
| |||
Lines changed: 5 additions & 1 deletion
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
93 | 93 | | |
94 | 94 | | |
95 | 95 | | |
96 | | - | |
| 96 | + | |
| 97 | + | |
| 98 | + | |
| 99 | + | |
| 100 | + | |
97 | 101 | | |
98 | 102 | | |
99 | 103 | | |
| |||
Lines changed: 2 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
32 | 32 | | |
33 | 33 | | |
34 | 34 | | |
| 35 | + | |
| 36 | + | |
35 | 37 | | |
36 | 38 | | |
37 | 39 | | |
| |||
Lines changed: 4 additions & 2 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
4 | 4 | | |
5 | 5 | | |
6 | 6 | | |
| 7 | + | |
7 | 8 | | |
8 | 9 | | |
9 | 10 | | |
| |||
20 | 21 | | |
21 | 22 | | |
22 | 23 | | |
23 | | - | |
| 24 | + | |
| 25 | + | |
24 | 26 | | |
25 | 27 | | |
26 | 28 | | |
27 | 29 | | |
28 | 30 | | |
29 | 31 | | |
30 | | - | |
| 32 | + | |
31 | 33 | | |
32 | 34 | | |
33 | 35 | | |
| |||
0 commit comments