Skip to content

dx: make test should fail helpfully on a fresh clone (bashunit missing) #32

Description

@Chemaclass

Context

lib/ is git-ignored, so on a fresh clone make test fails cryptically (lib/bashunit: No such file or directory) until make deps is run.

Scope

  • Have the test target detect a missing lib/bashunit and either auto-run make deps or print a one-line hint (run: make deps) and exit non-zero.
  • Do not auto-download silently in CI if that hides intent — a clear hint is acceptable.

Boundary

Files: Makefile only.

Acceptance criteria

  • Fresh clone make test gives an actionable message or self-heals
  • Normal runs unaffected (no extra network when bashunit present)

Constraints (apply to all bashdep work)

  • Bash 3.2+ compatible — no declare -A, ${var,,}/${var^^}, mapfile, negative array index, &>>.
  • Zero runtime deps beyond curl/wget/awk/mktemp/mkdir/rm/cp/mv/printf/cat/grep/sort/tr/dirname/basename + shell builtins.
  • TDD: write the failing test first (tests/unit/*_test.sh), then implement; keep make test green for the right reason. Mock curl/wget — no network in tests.
  • Quality gate: make test && make sa && make lint must all pass.
  • Update docs/api.md / docs/behavior.md when public API or semantics change; add a CHANGELOG.md ## [Unreleased] entry for any user-visible change.
  • Conventional commits (ref: for refactors); never mention AI/automation. One PR per issue, assigned to Chemaclass.

Metadata

Metadata

Assignees

Labels

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions