Skip to content

Re-evaluate test-pre-push-scan-timeout.sh's real-world cost, post scoping change #301

Description

@twistedmelonman

Context

bash/tests/test-pre-push-scan-timeout.sh verifies run_bounded (git/hooks/pre-push's Semgrep timeout wrapper, addressing #251). It's deliberately expensive: every case runs twice (GNU timeout path and watchdog fallback), and several cases need real sleep/kill timing to assert on (over-budget commands, SIGKILL escalation, grace-period honoring). By its own case design this totals roughly 30-40s of real sleeps.

As of smartwatermelon/claude-config#470, Protocol 3 no longer forces this file to run on every commit — only on changes that touch git/hooks/pre-push, and at push time (where dotfiles' .project-hooks/pre-push already runs the full suite). The decision at the time was to leave the test's internals unchanged: its cost was judged inherent to testing real timeout behavior, and its sleep margins were deliberately sized against flakiness (per its own comments, referencing dotfiles#262, #266, #268, #279).

Ask

Revisit that call in a few weeks, once there's real signal from actual pre-push runs (not just the isolated/sandboxed timing used to make the original call):

Not a commitment to change anything — a scheduled check on whether the earlier judgment holds up.

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

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions