[#109] Add CI smoke test to catch API mismatches #116
No reviewers
Labels
No labels
Compat/Breaking
Kind/Bug
Kind/Competitor
Kind/Documentation
Kind/Enhancement
Kind/Epic
Kind/Feature
Kind/Security
Kind/Story
Kind/Testing
Priority
Critical
Priority
High
Priority
Low
Priority
Medium
Reviewed
Confirmed
Reviewed
Duplicate
Reviewed
Invalid
Reviewed
Won't Fix
Scope/Core
Scope/Cross-Plugin
Scope/Plugin-System
Scope/Single-Plugin
Status
Abandoned
Status
Blocked
Status
Need More Info
No milestone
No project
No assignees
2 participants
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
ultanio/cobot!116
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "story-109"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Closes #109
Closes #101
Changes
New
tests/test_smoke.pywith 220 parametrized smoke tests that auto-discover all 27 plugins and verify:Plugins with optional deps (nostr, telegram) are gracefully skipped when those deps are not installed.
Would have caught:
run_loop_syncrenamed torun_sync— smoke test checksCobotclass methodscall_extensionremoved from registry — smoke test verifies all plugins import cleanlyEpic #101 Complete! 🎉
Final count: 836 tests passing (up from 300).
Verification
ruff check— all passedruff format --check— all formatted220 parametrized smoke tests that auto-discover all plugins and verify: - Every plugin module can be imported (graceful skip for optional deps) - Every plugin has create_plugin() returning a Plugin subclass - Every plugin has valid PluginMeta (id, version) - Every plugin has configure(), async start(), async stop() - configure({}) doesn't crash on any plugin - CLI entry point resolves (cobot.cli.main exists) - Cobot class has run_sync() and NOT run_loop_sync() (#97) These tests would have caught both #97 (run_loop_sync) and #104 (telegram call_extension) before they reached production.