Skip to content

Partial all-database inspections can return a successful exit status #98

Description

@DivyamTalwar

Problem and proposed fix

When at least one database succeeded, runInspectAll calculated its exit status only from successful contexts, ignoring a failed database. Preserve the successful subset of the report, but let execution failure (exit 3) take precedence over finding thresholds. The all-failed and complete-success cases retain their existing behavior.

Verification

  • The actual main/Cobra subprocess regression fails on the base behavior: partial clean inspections exit 0 and partial critical inspections exit 2 rather than 3. Only discovery/collection are injected; CLI parsing, fanout, rendering and process exit remain real.
  • Affected command race tests, clean committed-HEAD bash scripts/gate.sh, and go test -race ./... pass.
  • Controls cover complete clean/warn/critical results, fail-on none and critical, partial failures, all failures, retained JSON output and skip diagnostics.

Scope

No collector SQL, model fields, dependencies or migrations change. PR #38 overlaps the fanout file but its partial-failure handling is conditional on all-instances; this corrects plain all-databases independently. No live connection-failure simulation is claimed. Revert this commit to restore the former exit precedence.

I would like to address this with the focused fix and regression coverage described above. Existing issues and open PRs were checked for overlap before preparing the change.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions