Bashunit check-coverage

Analyze test coverage and identify untested code paths

install
source · Clone the upstream repo
git clone https://github.com/TypedDevs/bashunit
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/TypedDevs/bashunit "$T" && mkdir -p ~/.claude/skills && cp -r "$T/.claude/skills/check-coverage" ~/.claude/skills/typeddevs-bashunit-check-coverage && rm -rf "$T"
manifest: .claude/skills/check-coverage/SKILL.md
source content

Check Coverage

Analyze test coverage and identify gaps.

Workflow

1. Run Coverage (if available)

BASHUNIT_COVERAGE=true ./bashunit tests/

2. Map Functions to Tests

For each file in

src/
:

# List all public functions
grep "^function bashunit::" src/module.sh

# Find tests referencing each function
grep -r "function_name" tests/

3. Categorize Coverage

  • Well tested — multiple tests, edge cases covered
  • Partially tested — basic test exists, missing edge cases
  • Not tested — no tests found

4. Identify Critical Gaps

Priority 1: Public API functions (

export -f
) with no tests Priority 2: Error handling paths (
return 1
,
exit 1
) not tested Priority 3: Complex conditionals without branch coverage

5. Generate Report

Output a markdown report with:

  • Summary (total functions, tested count, estimated %)
  • Coverage by module
  • Critical gaps with file:line references
  • Recommended tests to add (specific test function names)

Coverage Goals

  • 90%+ for public functions
  • All user-facing CLI commands tested
  • All error paths tested
  • Internal helpers: optional (if trivial)