Repository navigation
Commit 76cc603
probe
fix(test): 用排空微任务代替 250ms 睡眠
`finalises the stream exactly once` 在本地过了 8 次,在 macOS CI 上失败。
那个门跑的是整个 50 文件套件,机器负载高,而测试用 `setTimeout(250)` 等
`finally` 跑完 —— 时间预算不是这个测试能花的东西。
要等的不是一个时刻,是一串确定的微任务跳数:abort listener,然后
`await iterator.next()` 的延续,循环的 break,再 `finally`。跳数是确定的,
时钟不是。所以数微任务,再补一次 setImmediate(socket close 到 abort
listener 走的是宏任务队列,不是同一个)。
这条测试的作用是「双重收尾时会转红」,一个靠睡眠成立的断言在机器忙的
时候会自己红掉,那它守的就不是它声称的东西。
整套 933 连跑 3 次全过。1 parent d590d0f commit 76cc603
1 file changed
Lines changed: 14 additions & 3 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1015 | 1015 | | |
1016 | 1016 | | |
1017 | 1017 | | |
1018 | | - | |
1019 | | - | |
1020 | | - | |
| 1018 | + | |
| 1019 | + | |
| 1020 | + | |
| 1021 | + | |
| 1022 | + | |
| 1023 | + | |
| 1024 | + | |
| 1025 | + | |
| 1026 | + | |
| 1027 | + | |
| 1028 | + | |
| 1029 | + | |
| 1030 | + | |
| 1031 | + | |
1021 | 1032 | | |
1022 | 1033 | | |
1023 | 1034 | | |
| |||
0 commit comments