本文へ移動
cccskills
無料GitHub で公開

fix-test

Debug and fix failing bashdep tests systematically

日本語の概要は準備中です。原文の説明を表示しています。

Chemaclass/bashdepスター 19(GitHub 19 + cccskills 0)

実行スコア 未検証

インストール方法を見る

含まれるファイル(1)

  • SKILL.md2.3 KB

SKILL.md(原文)

インストールする前に、エージェントに与えられる指示の中身を確認できます。

Fix Test

Systematically debug and fix failing test(s) in tests/unit/bashdep_test.sh.

Workflow

1. Identify Failures

make test 2>&1
# Or, narrower:
lib/bashunit tests --filter <test_name>

Parse: which test functions fail, what assertions, what the actual vs expected was.

2. Categorize Each Failure

  • Test bug - wrong expected value, missing set_up reset, leaky state
  • Implementation bug - bashdep doesn't match expected behavior
  • Snapshot drift - output legitimately changed; snapshot needs updating
  • Environment issue - missing $TEST_DIR, hardcoded path that doesn't exist, missing fixture
  • Bash 3.2 compat regression - code uses a Bash 4+ feature
  • Mode-flag leak - BASHDEP_* global from a prior test wasn't reset

3. Fix

  • Test bug: correct the assertion, fixture, or set_up
  • Implementation bug: minimal fix in bashdep, follow TDD (regression test must already exist or be added now)
  • Snapshot drift: confirm the new output is correct, then lib/bashunit --update-snapshots tests/. Review the diff before committing
  • Environment: fix the fixture path; never hardcode /tmp/... outside snapshot tests
  • Bash 3.2 compat: swap to a 3.2-safe construct (see .claude/rules/bash-style.md)
  • Mode-flag leak: add the reset to set_up, or scope the change to the single test

4. Verify

lib/bashunit tests --filter <test_name>   # Specific test
make test                                  # Full suite
make sa && make lint                       # Static checks

5. Prevent Regression

  • Document the root cause in the commit message body when non-obvious
  • Add an edge-case test if the failure exposed a missing case
  • If the bug crossed mode-flag boundaries, add tests for each mode (dry-run, silent, verbose, force)

Debugging Tips

  • Use --filter "test_name" to run a single test in isolation
  • Add printf 'DEBUG: %s\n' "$var" >&2 temporarily - strip before commit
  • If a test passes alone but fails in the suite, suspect a leaked BASHDEP_* global; reset in set_up
  • For snapshot mismatches, diff the snapshot file vs current stdout before regenerating

レビュー

まだレビューはありません。使ってみた感想をお寄せください。

コメント

ログインなしで書き込めます。使ってみた感想、質問、動かなかった環境などを気軽にどうぞ。

まだコメントはありません。最初のコメントを書いてみませんか。

送信するとすぐに公開されます。メールアドレスや電話番号などの個人情報は書かないでください。URL は 2 つまでです。

0 / 1000 文字

このフォームは reCAPTCHA で保護されており、Google のプライバシーポリシーと利用規約が適用されます。

同じリポジトリのスキル

Add a new bashdep:: lifecycle command with TDD

日本語の概要は準備中です。原文の説明を表示しています。

Chemaclass/bashdep192026年10月20日 更新

commit

無料

Stage and commit changes using conventional commits format

日本語の概要は準備中です。原文の説明を表示しています。

Chemaclass/bashdep192026年10月20日 更新

Coverage gap analysis for the bashdep public API plus a bashdep::doctor audit

日本語の概要は準備中です。原文の説明を表示しています。

Chemaclass/bashdep192026年10月20日 更新

gh-issue

無料

Fetch a GitHub issue, create a branch, plan and implement with TDD, then open a PR

日本語の概要は準備中です。原文の説明を表示しています。

Chemaclass/bashdep192026年10月20日 更新

pr

無料

Push branch and create a GitHub PR following the bashdep PR template

日本語の概要は準備中です。原文の説明を表示しています。

Chemaclass/bashdep192026年10月20日 更新

Run a comprehensive pre-release validation checklist for bashdep

日本語の概要は準備中です。原文の説明を表示しています。

Chemaclass/bashdep192026年10月20日 更新

Chemaclass のスキルをすべて見る

このスキルの問題を報告する