Skip to content

Commit 307e637

Browse files
committed
test(e2e 88): fixture 声明了两个从不存在的版本
`make@4.4` 与 `cmake@3.28` —— 索引里是 make 4.3 与 cmake 4.4.2/4.0.2,两个都从没 解析过。这一点此前不可见,因为 #531 的供给不读自己的结果:xlings 报出的每一种失败都 被当成成功。于是**这条最直接覆盖 `[xlings] deps` 的测试,是建立在一次从未成功的安装 之上做断言的** —— 正是 #531 想要终结的那个状态。 结果被读之后,fixture 的错误第一次可见:构建停下来了。这不是回归,是这条修复第一个 抓到的真实例子,而它抓到的是仓库自己的测试。 改用 `ninja@1.12.1`:mcpp 能构建的地方它一定已装,所以供给短路,这条测试仍然不花 任何下载。
1 parent 103eb9e commit 307e637

1 file changed

Lines changed: 14 additions & 2 deletions

File tree

tests/e2e/88_xlings_environment.sh

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,19 @@ version = "0.1.0"
2020
2121
[xlings]
2222
# Host build-tools the project wants available (xlings "deps").
23-
deps = ["make@4.4", "cmake@3.28"]
23+
#
24+
# ⚠️ THE VERSION HAS TO EXIST, AND UNTIL 2026.9.1.1 IT DID NOT HAVE TO.
25+
# This read `make@4.4, cmake@3.28`; the index carries make 4.3 and cmake
26+
# 4.4.2/4.0.2, so neither has ever resolved. That was invisible because #531's
27+
# provisioning did not read its own result — every failure xlings reported was
28+
# taken as success — so this test asserted materialization on top of an install
29+
# that never happened, which is the state #531 was written to end. Now the
30+
# failure is reported and the build stops, which is what makes the fixture's
31+
# error visible at last.
32+
#
33+
# `ninja@1.12.1` is deliberate: it is already installed anywhere mcpp can
34+
# build, so provisioning short-circuits and this test still costs no download.
35+
deps = ["ninja@1.12.1"]
2436
# A named per-project sandbox.
2537
subos = "dev"
2638
@@ -49,7 +61,7 @@ J=.mcpp/.xlings.json
4961
[ -f "$J" ] || { echo "FAIL: $J was not written"; ls -la .mcpp 2>/dev/null; exit 1; }
5062
echo "--- $J ---"; cat "$J"
5163
grep -q '"deps"' "$J" || { echo "FAIL: deps not materialized"; exit 1; }
52-
grep -q 'make@4.4' "$J" || { echo "FAIL: deps entry missing"; exit 1; }
64+
grep -q 'ninja@1.12.1' "$J" || { echo "FAIL: deps entry missing"; exit 1; }
5365
grep -q '"subos": "dev"' "$J" || { echo "FAIL: subos not materialized"; exit 1; }
5466
grep -q '"workspace"' "$J" || { echo "FAIL: workspace not materialized"; exit 1; }
5567
grep -q '"ninja": "1.12.1"' "$J" || { echo "FAIL: workspace pin missing"; exit 1; }

0 commit comments

Comments
 (0)