Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions .github/actions/daily-perf-improver/build-steps/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ runs:
shell: bash
run: |
echo "=== Installing dev dependencies ===" | tee -a build-steps.log
pip install pytest pytest-mock memory_profiler 2>&1 | tee -a build-steps.log
pip install pytest pytest-mock pytest-xdist memory_profiler 2>&1 | tee -a build-steps.log
echo "✓ Dev dependencies installed" | tee -a build-steps.log

- name: Verify installation
Expand All @@ -42,7 +42,7 @@ runs:
shell: bash
run: |
echo "=== Running test suite ===" | tee -a build-steps.log
pytest tests/ -v 2>&1 | tee -a build-steps.log
pytest tests/ -n auto -v 2>&1 | tee -a build-steps.log
echo "✓ Tests completed" | tee -a build-steps.log
# Allow build to continue even with test failures so the agent can analyze
# failures and attempt fixes. The agent checks build-steps.log for issues.
Expand Down
43 changes: 43 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -105,6 +105,49 @@ https://controld.com/dashboard/profiles/741861frakbm/filters
- Python 3.13+
- `uv` (for dependency management)

## Testing

This project includes a comprehensive test suite to ensure code quality and correctness.

### Running Tests

**Basic test execution:**
```bash
# Install dev dependencies first
pip install pytest pytest-mock pytest-xdist

# Run all tests
pytest tests/
```

**Parallel test execution (recommended):**
```bash
# Run tests in parallel using all available CPU cores
pytest tests/ -n auto

# Run with specific number of workers
pytest tests/ -n 4
```

**Note on parallel execution:** The test suite is currently small (~78 tests, <1s execution time), so parallel execution overhead may result in longer wall-clock time compared to sequential execution. However, pytest-xdist is included for:
- **Test isolation verification** - Ensures tests don't share state
- **Future scalability** - As the test suite grows, parallel execution will provide significant speedups
- **CI optimization** - May benefit from parallelization in CI environments with different characteristics

### Development Workflow

For active development with frequent test runs:
```bash
# Run tests sequentially (faster for small test suites)
pytest tests/ -v

# Run specific test file
pytest tests/test_security.py -v

# Run tests matching pattern
pytest tests/ -k "test_validation" -v
```

## Release Process

This project uses manual releases via GitHub Releases. To create a new release:
Expand Down
1 change: 1 addition & 0 deletions pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -13,4 +13,5 @@ dependencies = [
dev = [
"pytest>=7.0.0",
"pytest-mock>=3.10.0",
"pytest-xdist>=3.0.0",
]
Loading