Skip to content
Back to skills

Dsh Ci Test Reliability

ASecurity

设计、审查或诊断在 CI 并发、共享宿主资源、全局状态、时钟、跨平台与异步清理下不稳定的测试和夹具。

  • 3 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added November 11, 2026
ai-agentsapi

Works with

  • api

Security analysis

A100/100

Pro scans all 3 files and shows the line behind each finding

Scanned November 11, 2026

npx -y skills add TeFuirnever/azhou-ai-hub --skill dsh-ci-test-reliability --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Dsh Ci Test Reliability?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Dsh Ci Test Reliability
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/tefuirnever-dsh-ci-test-reliability/badge)](https://www.skillsdirectory.com/skills/tefuirnever-dsh-ci-test-reliability)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: dsh-ci-test-reliability
description: "设计、审查或诊断在 CI 并发、共享宿主资源、全局状态、时钟、跨平台与异步清理下不稳定的测试和夹具。"
---

# dsh-ci-test-reliability

本 Skill 仅用于当前项目。用户授权、项目 AGENTS.md 和实际宿主能力优先。

## 设计与审查

先读真实测试配置与 CI 工作流,区分同文件、不同 worker、独立测试进程、共享宿主的不同 job。进程隔离不隔离端口、固定路径、数据库、socket 和子进程;不要因一个夹具缺陷把整套测试串行化。

每个资源写清所有者、原子分配、就绪、注册清理和完全结束信号:

- 网络用 loopback 绑定端口 `0`,监听成功后读取实际地址;不先“查空闲端口”再绑定。目录用私有临时根/独占创建,数据库、会话与输出用唯一命名空间。记录中的稳定 URL/路径若仅作解析输入,不需要随机化;通过 fixture 映射到临时资源。
- 环境变量、cwd、fake timer、locale/timezone、mock、global、console/fetch hook 都是排他的可变资源。优先注入或实例作用域;必要修改时立即注册恢复,精确保存 absent/present/empty,在最小 try/finally 中恢复,按失败路径增加清理兜底。
- 用事件、握手、状态、owned promise 或屏障同步;超时只限制等待,不证明条件成立。被测 deadline 与外层测试 deadline 留足距离,case 与 setup/teardown 预算一起按真实 CI lane 设置。
- 获取后立刻注册清理;停止准入、解除监听、取消工作并等待子进程退出、server close、worker termination 等静止信号。证明晚到结果不会污染下一测试。
- 尊重平台差异:mtime 写回可能舍入,依赖其数值时重新读取;Windows 环境键大小写不独立,文件句柄释放可能延迟,POSIX 权限/信号不能照搬。确实不适用的场景具名 skip,不全平台削弱断言。针对已测文件争用的有界重试须说明资源及等待条件。

## 诊断既有偶发失败

冻结 workflow/job、SHA、runner、时间、命令、首个稳定失败特征和日志链接。比较同 SHA 的失败/通过运行;不同 SHA 先确认相关代码和配置等同。一次通过不能证明是基础设施,单次超时不能证明产品竞争。

按证据区分:宿主资源碰撞、清理未完成、全局污染、负载敏感同步、平台/入口差异、产品竞争、外部提供方瞬态、runner 基础设施。超时、signal、exit status 与断言分别记录;缺宿主指标就报告缺口。

从单例 → 同进程并发 → 独立进程并发 → 实际 gate → 共享宿主 jobs 逐步扩展到最小相关拓扑。不用随机负载或降低产品超时制造另一种失败。目标平台不可用时止于可达层,保留 CI 证据,不用 macOS 通过替代 Windows 复现。诊断请求保持只读,不擅自重跑远端 workflow 或改 CI。

## 证明修复

授权修复时改分配、就绪、全局变更或清理的实际 owner。普通回归尽量先见旧版失败;静态 guard 加真实 runner 的负对照;竞争用屏障证明重叠;跨进程资源用独立进程并发验证。子进程先断言未被信号/超时终止,再判断退出码。

压力重复只作补充。拒绝无根因的加 sleep、自动重试、全局串行、吞异常、放宽断言或快照归一化;恢复原 CI 预算、已测争用等待和按合同处理外部 API 瞬态是不同情况。报告准确命令、原特征、前后结果与未覆盖拓扑,不把 skipped/pending 说成通过。

来源、适配边界和许可证见 [provenance.md](provenance.md)。

Files in this skill

  • LICENSE-DeepSeek1 KB
  • SKILL.md3.6 KB
  • provenance.md1.7 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

View all in ai-agents →

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.