Skip to content

ruff-format.test.sh: 4 failures on Windows Git Bash (probe-gate node loader, finding report shape) #6531

Closed

Description

@kyle-sexton

On Windows Git Bash, plugins/ruff-format/hooks/ruff-format.test.sh fails 4 cases on main (3569033). The failures reproduced before any change from #6530.

  • 3 FAILs: probe-gate node loader errors
  • 1 FAIL: finding report shape

These failures are not filesystem leaks. Found while verifying #6530.

Repro: env MSYS=winsymlinks:nativestrict bash plugins/ruff-format/hooks/ruff-format.test.sh on Windows 11, Git Bash.

Activity

  1. added
    needs-triageNot yet classified. Floor until a type and one priority tier are set.
    on Oct 7, 2026
  2. github-actions commented on Oct 7, 2026

    @github-actions
    Contributor

    Thanks for the detailed repro. I understand this as: on Windows Git Bash, plugins/ruff-format/hooks/ruff-format.test.sh fails 4 cases on main at 3569033, independent of #6530 — 3 around probe-gate node loader errors and 1 around the finding report shape, reproduced with env MSYS=winsymlinks:nativestrict bash plugins/ruff-format/hooks/ruff-format.test.sh.

    The report is clear and self-contained; no missing info from my side. It looks related in kind (Windows Git Bash test failures) to #6135 and #6527, though those cover different test suites, so it doesn't appear to be an exact duplicate. Flagging as a test-only, Windows-specific failure affecting one plugin's suite rather than runtime behavior, which is why I'd treat it as lower priority relative to user-facing bugs.

    Automated triage. A maintainer reviews it.

  3. added theissue type on Oct 12, 2026
  4. added
    needs-humanHuman-in-the-loop required; autonomous sessions must not resolve items carrying this.
    and removed
    needs-triageNot yet classified. Floor until a type and one priority tier are set.
    on Oct 12, 2026
  5. kyle-sexton commented on Oct 19, 2026

    @kyle-sexton
    MemberAuthor

    This was generated by AI during triage.

    Held: the four failures need a re-run on Windows Git Bash. The suite has changed since the report (#6677, #7616), and the lane has no Windows host to confirm whether they remain.

  6. kyle-sexton commented on Oct 22, 2026

    @kyle-sexton
    MemberAuthor

    This was generated by AI during an attended run.

    Re-run on Windows Git Bash at origin/main 39916bd575ec3a942d40bf01ddd2c049c7852b2c: still 4 failures, PASS=36 FAIL=4, exit 1. A plain run and an MSYS=winsymlinks:nativestrict run gave identical results.

    Environment: GNU bash 5.3.15(1)-release (x86_64-pc-cygwin, Git for Windows), node v24.21.0, ruff 0.17.0, python 3.14.8. Detached worktree of a Windows-side clone, no \\wsl$.

    FAIL: probe-gate: ruff_format_enabled=false should print nothing and exit 0 (rc=1 out=node:internal/modules/cjs/loader:1568
    FAIL: probe-gate: ruff_format_enabled unset should print the missing-ruff notice (rc=1 out=node:internal/modules/cjs/loader:1568
    FAIL: probe-gate: ruff_format_enabled=true should print the missing-ruff notice (rc=1 out=node:internal/modules/cjs/loader:1568
    FAIL: spawn budget: a batch with no Python costs only the node launcher: want [spawns=1] got []
    PASS=36 FAIL=4
    
    • The three probe-gate failures are the same as the original report: node's CJS loader reports Cannot find module '<worktree>\plugins\ruff-format\lib\prerequisites.mjs' (MODULE_NOT_FOUND), although the file exists. That points to a POSIX-versus-Windows path form, or to CJS resolution of an ES-module path. Not yet traced in the test.
    • The fourth failure has a new cause. The original "finding report shape" failure is gone, and a spawn-budget case fails in its place: hook-census: the fire exited 1; stderr: ...\Git\usr\bin\strace.exe: unknown option -- s. Git Bash's strace is the Cygwin tool, which has no -s, so the census counts no spawns. The census assumes Linux strace and has no skip on Git Bash.

    Leaving this open: the failures are real on the current suite.

  7. kyle-sexton commented on Oct 24, 2026

    @kyle-sexton
    MemberAuthor

    This was generated by AI during an unattended host run over /fleet:reach (melo-desk-001, Windows 11 Git Bash).

    Re-run at origin/main 9965f0c07: still PASS=36 FAIL=4, the same four failures as the 2026-10-22 run. Both causes are traced:

    • Probe-gate (3 cases). A Windows jq.exe writes CRLF, and read -r keeps the CR. A traced run of the block shows ARG[...\lib\prerequisites.mjs^M], so node looks for a file whose name ends in a CR. The node module loader and path forms are not involved.
    • Spawn budget (1 case). The case gated on command -v strace, which Cygwin's strace satisfies although it has no -s. ruff-format-end-of-turn.test.sh has the same gate and fails its census case too (8 passed, 1 failed).

    The fix is committed on branch fix/ruff-format-test-windows-git-bash. The PR opens once the current pre-push hold lifts. With the fix applied on this host:

    Suite Windows Git Bash Linux
    ruff-format.test.sh PASS=39 FAIL=0, plain and with MSYS=winsymlinks:nativestrict; census case skipped PASS=40 FAIL=0; census case run
    ruff-format-end-of-turn.test.sh 8 passed, 0 failed; census case skipped 9 passed, 0 failed

    Six other formatter suites fail on this host from the same two causes, filed as #9889.

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

    needs-humanHuman-in-the-loop required; autonomous sessions must not resolve items carrying this.priority: lowNice-to-have, cosmetic, or speculative; opportunistic.

    Type

    Fields

    No fields configured for Bug.

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions