Skip to content

Add multi-OS tests and real TTY smoke CI - #5

Closed
david-andrew wants to merge 4 commits into
multi-os-revampfrom
cursor/multi-os-test-1b65
Closed

Add multi-OS tests and real TTY smoke CI#5
david-andrew wants to merge 4 commits into
multi-os-revampfrom
cursor/multi-os-test-1b65

Conversation

@david-andrew

Copy link
Copy Markdown
Owner

Adds automated verification for the multi-os-revamp branch across Linux, macOS, and Windows.

Testing approach

  • Unit tests (pytest): buffer/history/editor logic, POSIX and Windows key parsing (via FakeTerminal / IS_WINDOWS patching), and non-TTY pipe fallback.
  • Real TTY smoke (scripts/tty_smoke_test.py): spawns readl() in a child process and types smoke-line through a real pseudo-terminal:
    • Linux/macOS: os.openpty()
    • Windows: pywinpty (winpty.PtyProcess)

CI

GitHub Actions workflow test-multi-os.yml runs both jobs on ubuntu-latest, macos-latest, and windows-latest (Python 3.12).

Manual check on your machine

pip install -e .
python scripts/tty_smoke_test.py   # Linux/macOS
pip install pywinpty               # Windows only
python scripts/tty_smoke_test.py

Latest run: all matrix jobs green.

Open in Web Open in Cursor 

david-andrew and others added 4 commits May 27, 2026 15:11
…tead of just linux). Also improved multi-line inputs to have better navigation control
- pytest suite with FakeTerminal editor/key tests
- scripts/tty_smoke_test.py drives readl through a PTY
- GitHub Actions matrix on ubuntu, macos, and windows

Co-authored-by: David-Andrew Samson <david-andrew@users.noreply.github.com>
Co-authored-by: David-Andrew Samson <david-andrew@users.noreply.github.com>
Co-authored-by: David-Andrew Samson <david-andrew@users.noreply.github.com>
@david-andrew
david-andrew deleted the cursor/multi-os-test-1b65 branch May 28, 2026 19:34
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