feat(test): add CI for tests#1152
Conversation
|
Warning Gemini encountered an error creating the summary. You can try again by commenting |
There was a problem hiding this comment.
Pull request overview
Adds a dedicated CI workflow and supporting test suite updates to ensure automated verification of CoPaw across platforms and Python versions, plus a local script to standardize running unit/integrated tests.
Changes:
- Introduces GitHub Actions workflow to run unit + integrated tests (matrixed across OS/Python) and publish coverage.
- Adds/organizes provider-focused unit tests and a couple of integrated smoke tests (version + app startup).
- Removes a set of older top-level tests and updates docs/contributing instructions to use
.[dev,full].
Reviewed changes
Copilot reviewed 21 out of 28 changed files in this pull request and generated 4 comments.
Show a summary per file
| File | Description |
|---|---|
| .github/workflows/tests.yml | New CI pipeline for unit/integrated tests + coverage reporting. |
| scripts/run_tests.py | Adds a local CLI runner for unit/integrated/coverage/parallel test execution. |
| scripts/README.md | Documents how to run the new local test runner. |
| tests/unit/providers/test_provider_manager.py | New tests for provider persistence, migration, and activation behavior. |
| tests/unit/providers/test_openai_stream_toolcall_compat.py | New tests for OpenAI stream tool-call sanitization/parsing compatibility. |
| tests/unit/providers/test_openai_provider.py | New tests for OpenAIProvider connection/model listing behavior. |
| tests/unit/providers/test_ollama_provider.py | New tests for OllamaProvider env loading, model ops, and connectivity checks. |
| tests/unit/providers/test_ollama_manager_timeout.py | Verifies OllamaModelManager default timeout wiring. |
| tests/unit/providers/test_default_provider.py | Adds DefaultProvider behavior tests. |
| tests/unit/providers/test_anthropic_provider.py | New tests for AnthropicProvider connection/model behavior. |
| tests/integrated/test_version.py | Integrated checks for __version__ import and format. |
| tests/integrated/test_app_startup.py | Integrated smoke test for starting the app and checking HTTP endpoints. |
| README.md / README_zh.md / README_ja.md | Updates dev install instructions to .[dev,full]. |
| CONTRIBUTING.md / CONTRIBUTING_zh.md | Updates required local gate instructions to .[dev,full]. |
| tests/test_voice_config.py | Removed legacy test file. |
| tests/test_twiml.py | Removed legacy test file. |
| tests/test_tunnel.py | Removed legacy test file. |
| tests/test_truncate.py | Removed legacy test file. |
| tests/test_session.py | Removed legacy test file. |
| tests/test_react_agent_tool_choice.py | Removed legacy test file. |
| tests/test_providers_cmd.py | Removed legacy test file. |
| tests/test_memory_compaction_hook.py | Removed legacy test file. |
| tests/test_mcp_resilience.py | Removed legacy test file. |
| tests/test_conversation_relay.py | Removed legacy test file. |
| tests/channels/test_qq_url_sanitize.py | Removed legacy test file. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 21 out of 28 changed files in this pull request and generated 4 comments.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Description
[Describe what this PR does and why]
Related Issue: Fixes #(issue_number) or Relates to #(issue_number)
Security Considerations: [If applicable, e.g. channel auth, env/config handling]
Type of Change
Component(s) Affected
Checklist
pre-commit run --all-fileslocally and it passespytestor as relevant) and they passTesting
[How to test these changes]
Local Verification Evidence
Additional Notes
[Optional: any other context]