test(message_bus): cover export/unexport guards and ObjectManager emit#781
test(message_bus): cover export/unexport guards and ObjectManager emit#781bluetoothbot wants to merge 2 commits into
Conversation
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #781 +/- ##
==========================================
+ Coverage 95.96% 96.12% +0.16%
==========================================
Files 29 29
Lines 3614 3614
Branches 621 621
==========================================
+ Hits 3468 3474 +6
+ Misses 79 76 -3
+ Partials 67 64 -3 ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
|
cython tests fail (21 durations < 0.005s hidden. Use -vv to show these durations.) |
Confirmed. Cython enforces |
|
|
Rebase with requested adjustmentsBranch Changes applied
StatsActions performed
CI statusCI will be checked asynchronously. Automated by Kōan |
e1cd169 to
abda32f
Compare
PR Review — test(message_bus): cover export/unexport guards and ObjectManager emitSolid offline coverage of export/unexport guards and ObjectManager emit paths — the previously-blocking issues are already resolved in this diff. Merge-ready pending green CI. Strengths:
Checklist
Automated review by Kōan (Claude) |
Rebase with conflict resolutionBranch StatsActions performed
CI statusCI will be checked asynchronously. Automated by Kōan |
abda32f to
a5dae30
Compare
What: Offline unit tests for
BaseMessageBus.export/unexport, covering the validation guards and theObjectManagersignal-emit paths.Why: The existing
test_export_unexportexercises only the happy path through a live session bus, leaving the guard branches (196,244) and theInterfacesAdded/InterfacesRemovedemit bodies untested. These are pure dict-management + signal-shaping logic that doesn't need a real connection.How: Reuse the established
_SendCapturingBusharness (BaseMessageBus(bus_address="unix:path=/dev/null")capturingsend()). A minimal_ExampleInterfacewith one read property lets the tests assert the exactInterfacesAdded/InterfacesRemovedsignal bodies. Covered: non-ServiceInterfaceTypeError, invalid object path, duplicate-nameValueError, disconnected early-return, bad-interface-typeTypeError, unknown-path/unknown-name no-ops, and removal by name / instance / whole-path.Testing:
tests/test_message_bus.pypasses under bothSKIP_CYTHON=1andREQUIRE_CYTHON=1; full suite 618 passed / 20 skipped; ruff clean.Quality Report
Changes: 1 file changed, 113 insertions(+), 1 deletion(-)
Code scan: clean
Tests: failed (FAILED)
Branch hygiene: clean
Generated by Kōan