-
Notifications
You must be signed in to change notification settings - Fork 11
Commit 4f85cd7
tests(run): Add comprehensive tests for output streaming and flushing behavior
- Add TestFlushingBehavior class with tests for:
- Timing verification of immediate flushing
- Unbuffered subprocess output handling
- Carriage return overwrites for progress bars
- ANSI escape sequence preservation
- Git-style progress simulation
- Mixed line endings (\n, \r, \r\n)
- Large output streaming without blocking
- stderr vs stdout stream separation
- Add TestRealWorldScenarios class covering:
- npm-style progress with Unicode spinners
- Long-running processes with periodic updates
- Multi-line progress bars (Docker-style)
- Binary/Unicode output handling
- Interleaved stdout/stderr timing
- Add TestEdgeCases class for:
- Empty output handling
- stdout-only processes
- Very long lines exceeding buffer size
- Rapid output bursts
- Callback exception handling
- Enhance existing tests with better type annotations
- Fix linting issues (imports, line length, docstrings)
- Follow libvcs testing conventions and patterns
These tests verify the current behavior of the run() function's
real-time output streaming via callbacks, including the 128-byte
chunking behavior and proper handling of control characters.
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <[email protected]>1 parent 70b259f commit 4f85cd7Copy full SHA for 4f85cd7
File tree
Expand file treeCollapse file tree
1 file changed
+812
-6
lines changedFilter options
- tests/_internal
Expand file treeCollapse file tree
1 file changed
+812
-6
lines changed
0 commit comments