Repository navigation
Commit 93ab297
committed
test(e2e): 202 用 here-string,别让 pipefail 把「匹配成功」读成失败
`set -o pipefail` 开着,而 `grep -q` 一匹配就退出 —— 于是 `echo "$out" | grep -q`
让 echo 往一个已关闭的管道写、吃到 SIGPIPE,整条管道报 141,**尽管匹配是成功的**。
它只在 `$out` 足够大、echo 还没写完时现形,对 `cache list` 来说就是「这台机器构建过
几个东西之后」。实测(开发机、热构建缓存,48808 字节):
OLD(已发布 2026.8.10.3) 4/5 次失败
NEW(本分支) 3/5 次失败
同一个字符串 `grep -c kind` 数出 153 处匹配
⇒ **与被测的 mcpp 无关,与本机缓存大小有关。** CI 缓存小,所以那边一直绿。
我差点把它当成本分支的回归报出去 —— 一个会随无关缓存大小失败的测试,必然会被读成
「当时手里那个改动」的回归。改成 here-string,两个二进制各跑 8 次全过。1 parent 5919795 commit 93ab297
1 file changed
Lines changed: 12 additions & 2 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
55 | 55 | | |
56 | 56 | | |
57 | 57 | | |
| 58 | + | |
| 59 | + | |
| 60 | + | |
| 61 | + | |
| 62 | + | |
| 63 | + | |
| 64 | + | |
| 65 | + | |
| 66 | + | |
| 67 | + | |
58 | 68 | | |
59 | 69 | | |
60 | | - | |
61 | | - | |
| 70 | + | |
| 71 | + | |
62 | 72 | | |
63 | 73 | | |
64 | 74 | | |
| |||
0 commit comments