det_port.py run --all-cases aborts with no summary.json when the cics-crucible checkout is missing

已关闭
#7,531 0 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看

维护者通常 1 天内回复

已经有一个关联 PR 被合并了。

  • #7586 来自 @squid-protocol —— 已合并

评估

难度
3/5
预计耗时
1-2 天
新手友好度
62/100
Issue 类型
缺陷
描述清晰度
描述清楚
活跃度
活跃
技术栈
python
领域
tooling

调研方向

Start with the run subcommand and the --all-cases path in tests/tools/det_port.py, and find where it resolves the cics-crucible location from CICS_CRUCIBLE_PATH or ../cics-crucible and where it raises when that checkout is missing. Reproduce by running python tests/tools/det_port.py run --all-cases --translate-only --work DIR without the checkout. Done when the in-repo cases are translated, summary.json is written and names the skipped crucible cases, and a test covers both the missing and present checkout.

由索引模型根据 Issue 内容生成。

描述

bug scope:infra

What happens

python tests/tools/det_port.py run --all-cases --translate-only --work DIR stops early and writes no summary.json when the cics-crucible checkout (CICS_CRUCIBLE_PATH or the sibling ../cics-crucible) is not present. The cases that live in this repo (tests/equivalence/<case>/) are never reported, even though they don't need the crucible.

Seen 2026-11-02 while translating every burned-estate case for a structural-fidelity analysis. Passing the burned cases explicitly (det_port.py run CASE... --translate-only) works: 184 cases, 0 holes.

Expected

--all-cases translates every case it can reach and writes summary.json. A missing crucible checkout is one line ("cics-crucible not found at …: its N cases skipped"), not an abort. If the crucible cases are required for the run's purpose, fail loudly with that message and exit non-zero, but still write the summary of what ran.

Acceptance

  • With no crucible checkout, --all-cases writes summary.json covering the in-repo cases and names the skipped crucible ones.
  • With the checkout present, the output is unchanged.
  • A test pins both.
主要语言
Python
星标
57
派生
11
平均合并
1 小时 55 分钟
30 天内合并 PR
973

环境准备

从这里开始

  1. 先读完整个 Issue,再读项目的贡献指南。
  2. 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
  3. Fork 仓库,在一个分支上完成修改。
  4. 提交 Pull Request,并在描述里引用这个 Issue 编号。

squid-protocol/gitgalaxy 的其他 Issue

查看 squid-protocol/gitgalaxy 的全部 Issue

相似的 Issue

更多 Python Issue

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。