Skip to content

windows: full test port and the jaal adopt pin - #10

Merged
1ay1 merged 1 commit into
agentty-org:masterfrom
davidwed:master
Oct 18, 2026
Merged

1ay1 merged 1 commit into
agentty-org:masterfrom
davidwed:master

Conversation

@davidwed

Copy link
Copy Markdown
Contributor

Every POSIX-assuming test TU now builds and passes on windows/clang64, and the port exposed three real harness bugs (not just POSIX syntax):

  • test_render_sweep measured at the LAUNCHER's width, not COLUMNS: maya's is_tty() reads WT_SESSION/MSYSTEM as VT-on-pipe evidence, so inherited identity variables pinned the sweeps and they failed with "'40ms' vanished at width 40" -- the harness manufactured the very measure-vs-paint mismatch it exists to catch. The Sweep constructor clears the identity markers; POSIX was immune (isatty false on a pipe).
  • test_theme_discipline's compile probes ran std::system with a command that STARTS with a quoted path; cmd.exe strips the outer quote pair and never runs the compiler, so all three accept probes wrongly REFUSED. The command is wrapped in one outer quote pair (what cmd /C parsing expects) and stderr goes to NUL.
  • test_html's 20000-deep
    flood crashed STATUS_STACK_OVERFLOW under ctest specifically (smaller effective reserve stack; measured with ctest's exact argv from PowerShell). Reduced to 4096 -- still 16x the renderer's 256-deep cap, so the flattening property under test is unchanged.

Ported plumbing: NUL sink via CreateFileW (test_render), a reader THREAD for the residue pipe (windows anon pipes have no O_NONBLOCK -- a fill-buffer write BLOCKS, and drain-after-write deadlocked the suite for 20+ minutes), _putenv_s shims (test_ansi, render_sweep), fflush per row in the commonmark table (a redirected printf buffer lost its tail mid-run). acp-style pid shims round out the harness.

third_party/jaal is pinned to the adopt() commit the exec loop needs.

Verified: full suite 676/676 green on windows 11 insider, MSYS2 clang64.

Every POSIX-assuming test TU now builds and passes on windows/clang64,
and the port exposed three real harness bugs (not just POSIX syntax):

- test_render_sweep measured at the LAUNCHER's width, not COLUMNS:
  maya's is_tty() reads WT_SESSION/MSYSTEM as VT-on-pipe evidence, so
  inherited identity variables pinned the sweeps and they failed with
  "'40ms' vanished at width 40" -- the harness manufactured the very
  measure-vs-paint mismatch it exists to catch. The Sweep constructor
  clears the identity markers; POSIX was immune (isatty false on a
  pipe).
- test_theme_discipline's compile probes ran std::system with a
  command that STARTS with a quoted path; cmd.exe strips the outer
  quote pair and never runs the compiler, so all three accept probes
  wrongly REFUSED. The command is wrapped in one outer quote pair
  (what cmd /C parsing expects) and stderr goes to NUL.
- test_html's 20000-deep <div> flood crashed STATUS_STACK_OVERFLOW
  under ctest specifically (smaller effective reserve stack; measured
  with ctest's exact argv from PowerShell). Reduced to 4096 -- still
  16x the renderer's 256-deep cap, so the flattening property under
  test is unchanged.

Ported plumbing: NUL sink via CreateFileW (test_render), a reader
THREAD for the residue pipe (windows anon pipes have no O_NONBLOCK --
a fill-buffer write BLOCKS, and drain-after-write deadlocked the suite
for 20+ minutes), _putenv_s shims (test_ansi, render_sweep), fflush
per row in the commonmark table (a redirected printf buffer lost its
tail mid-run). acp-style pid shims round out the harness.

third_party/jaal is pinned to the adopt() commit the exec loop needs.

Verified: full suite 676/676 green on windows 11 insider, MSYS2
clang64.
@1ay1
1ay1 merged commit cf2f13b into agentty-org:master Oct 18, 2026
10 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants