Skip to content

feat: add process module — fixes, tests, and documentation#88

Open
bedus-creation wants to merge 1 commit into
mainfrom
feat/process-module
Open

feat: add process module — fixes, tests, and documentation#88
bedus-creation wants to merge 1 commit into
mainfrom
feat/process-module

Conversation

@bedus-creation

Copy link
Copy Markdown
Contributor

Summary

  • Bug fixes: corrected broken relative imports in result.py and fake.py; wrapped subprocess.TimeoutExpired into ProcessTimedOutException in process.py
  • Tests: 95 pytest tests across tests/process/ covering Process, PendingProcess, ProcessResult, pipelines, pools, fakes, and exception handling

What the process module does

Laravel-inspired fluent interface for running shell commands:

  • Process.run('cmd') — synchronous execution with captured output
  • Process.start('cmd', callback) — async execution with streaming output
  • Process.pipe(...) — pipeline chaining
  • Process.pool(...) — concurrent execution
  • Process.fake() — test infrastructure (no real subprocesses)

How to test

cd fastapi_startkit && uv run pytest tests/process/ -v

Closes task #34 (tests) and task #33 (import fix).

🤖 Generated with Claude Code

- Fix result.py broken import: `from packages.process.exception` → `from .exception`
- Fix fake.py missing ProcessResult import (NameError at runtime)
- Fix process.py: wrap subprocess.TimeoutExpired into ProcessTimedOutException in run()

feat(process): add comprehensive test suite for process module

95 tests covering ProcessResult, Process facade, PendingProcess fluent builder,
fake/assertion infrastructure, timeout handling, real subprocess execution,
pool/pipe, and exception cases.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
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.

1 participant