Skip to content

[Fix] Make development checks portable to Windows - #19

Merged
Yunaik merged 1 commit into
ThinkFlowLab:mainfrom
alexwong10:fix/windows-development-checks
Sep 27, 2026
Merged

Yunaik merged 1 commit into
ThinkFlowLab:mainfrom
alexwong10:fix/windows-development-checks

Conversation

@alexwong10

Copy link
Copy Markdown
Contributor

Why

The native Windows core checks fail on valid CLI output and a correctly closed static server. The smoke script compares CRLF output as if it were LF, the lifecycle tests expect closed-port connections to raise ConnectionRefusedError instead of timing out, and the invalid-home test assumes /dev/null is a special file.

How

Normalize the captured agent list before comparing it. Check the owned listening socket's closed descriptor directly, while retaining a real connection check during the session. Create a temporary regular file as the parent of an invalid S1A_HOME, which works on both Windows and Unix.

What

Keep Bash scripts and Git hooks at LF with .gitattributes. Add a Windows / Python 3.11 core CI job alongside the existing Linux / Python 3.11 and 3.13 jobs, select Bash for the smoke step, and document the Windows check commands.

Verification

On native Windows with CPython 3.11.16 and the locked core + dev dependencies:

  • Full pytest -q: 482 passed, 41 skipped, with 66 subtests passed.
  • scripts/smoke.sh: passed in Git Bash using native Windows Python, including its real CRLF output.
  • ruff format --check ., ruff check ., ty check, uv lock --check --offline, and uv build --offline: passed.
  • Reproduced both original lifecycle failures and the original smoke-list failure before editing. Temporarily omitting server_close makes both revised lifecycle tests fail, confirming that they still catch an unreleased socket.
  • Verified that Git's checkout filters retain LF for the smoke script and both hooks with core.autocrlf=true.

@Yunaik Yunaik left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

thanks!

@Yunaik
Yunaik merged commit 34fc6a6 into ThinkFlowLab:main Sep 27, 2026
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