Testing
MAC CLI validation is layered across smoke tests, Pester, script analysis, packaging validation, and a human checklist.
Primary Entry Points
Repo-level runner:
.\mac-cli-test.ps1
.\mac-cli-test.ps1 -RepoHelpers -Quick
Top-level CLI runner:
mac-cli test -RepoHelpers -Quick
Direct validation scripts:
pwsh -NoProfile -File .\scripts\invoke-script-analyzer.ps1
pwsh -NoProfile -File .\scripts\build-release-assets.ps1 -Version v1.0.0 -Validate
Current Validation Layers
RepoHelpers
- smoke coverage through
Invoke-RepoHelpersTests.ps1 - Pester coverage when Pester 5+ is available
- help/manual contract checks
- repo-flow dry-run parsing and output checks
AuthHelpers
- smoke coverage through
Invoke-AuthHelpersSmokeTests.ps1 - import/export checks
- readiness,
-Dry,-Pass, and provider/profile-path parsing checks
Packaging
- required-file checks for the module ZIPs and bundle ZIP
- banned-path checks
- packaged import verification
- legacy command leakage rejection
Human Checklist
Manual validation lives in:
RepoHelpers/docs/TEST-CHECKLIST.md
Use it when workflow behavior changed materially or before release signoff.
Current Maintainer Rule
If command behavior, test entrypoints, or release validation changes:
- update the quick docs in the repo
- update this page
- update the repo-local
.codexvalidation notes in the same task