Skip to content
cccskills
FreePublished on GitHub

fix-test

Debug and fix failing bashdep tests systematically

The English summary is being prepared. Showing the original description.

Chemaclass/bashdep19 stars(GitHub 19 + cccskills 0)

Run score Not tested

See how to install

Files included (1)

  • SKILL.md2.3 KB

SKILL.md (original)

Review the instructions the agent will receive before you install.

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

Reviews

No reviews yet. Tell others what you thought.

Comments

No login needed. Share how it worked for you, ask a question, or note where it did not run.

No comments yet. Be the first to write one.

Comments are published right away. Do not include personal information such as email addresses or phone numbers. Up to 2 URLs.

0 / 1,000 characters

This form is protected by reCAPTCHA, and the Google Privacy Policy and Terms of Service apply.

More skills from this repository

Add a new bashdep:: lifecycle command with TDD

The English summary is being prepared. Showing the original description.

Chemaclass/bashdep19Updated Oct 20, 2026

commit

Free

Stage and commit changes using conventional commits format

The English summary is being prepared. Showing the original description.

Chemaclass/bashdep19Updated Oct 20, 2026

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

The English summary is being prepared. Showing the original description.

Chemaclass/bashdep19Updated Oct 20, 2026

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

The English summary is being prepared. Showing the original description.

Chemaclass/bashdep19Updated Oct 20, 2026

pr

Free

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

The English summary is being prepared. Showing the original description.

Chemaclass/bashdep19Updated Oct 20, 2026

Run a comprehensive pre-release validation checklist for bashdep

The English summary is being prepared. Showing the original description.

Chemaclass/bashdep19Updated Oct 20, 2026

See all skills by Chemaclass

Report a problem with this skill