test: add TDD bug-capture test for #988 — ReactiveEventBus.emit swallows exceptions #1106

Merged
brent.edwards merged 3 commits from tdd/m5-event-bus-exception-swallow into master 2026-03-26 01:02:10 +00:00

3 Commits

Author SHA1 Message Date
brent.edwards dfa1c2917c Merge branch 'master' into tdd/m5-event-bus-exception-swallow
CI / build (pull_request) Successful in 33s
CI / quality (pull_request) Successful in 5m0s
CI / lint (pull_request) Successful in 5m20s
CI / typecheck (pull_request) Successful in 5m44s
CI / security (pull_request) Successful in 5m51s
CI / integration_tests (pull_request) Successful in 7m12s
CI / unit_tests (pull_request) Successful in 8m10s
CI / docker (pull_request) Successful in 1m4s
CI / e2e_tests (pull_request) Successful in 11m38s
CI / coverage (pull_request) Successful in 10m9s
CI / status-check (pull_request) Successful in 2s
CI / benchmark-publish (pull_request) Has been skipped
CI / benchmark-regression (pull_request) Successful in 59m59s
2026-03-26 00:12:47 +00:00
brent.edwards 2fe97e9a51 Merge remote-tracking branch 'origin/master' into tdd/m5-event-bus-exception-swallow
CI / coverage (pull_request) Blocked by required conditions
CI / benchmark-regression (pull_request) Blocked by required conditions
CI / benchmark-publish (pull_request) Waiting to run
CI / docker (pull_request) Blocked by required conditions
CI / status-check (pull_request) Blocked by required conditions
CI / lint (pull_request) Successful in 3m16s
CI / quality (pull_request) Successful in 4m0s
CI / security (pull_request) Successful in 4m29s
CI / unit_tests (pull_request) Successful in 6m22s
CI / integration_tests (pull_request) Successful in 6m57s
CI / build (pull_request) Failing after 11m40s
CI / e2e_tests (pull_request) Failing after 11m40s
CI / typecheck (pull_request) Failing after 16m41s
# Conflicts:
#	CHANGELOG.md
2026-03-25 20:44:55 +00:00
brent.edwards eb9e8ba4fe test: add TDD bug-capture test for #988 — ReactiveEventBus.emit swallows exceptions
CI / benchmark-publish (pull_request) Has been skipped
CI / build (pull_request) Successful in 26s
CI / lint (pull_request) Successful in 3m34s
CI / typecheck (pull_request) Successful in 3m58s
CI / quality (pull_request) Successful in 3m59s
CI / security (pull_request) Successful in 4m7s
CI / integration_tests (pull_request) Successful in 6m10s
CI / unit_tests (pull_request) Successful in 6m49s
CI / docker (pull_request) Successful in 1m7s
CI / e2e_tests (pull_request) Successful in 8m35s
CI / coverage (pull_request) Successful in 11m37s
CI / status-check (pull_request) Successful in 1s
CI / benchmark-regression (pull_request) Successful in 51m54s
Add a Behave BDD scenario that captures bug #988: ReactiveEventBus.emit()
exception handler logs only type(exc).__name__ without str(exc) or
exc_info=True, making production debugging of subscriber failures
impossible.

The test subscribes a handler that raises ValueError with a distinctive
message, emits an event, captures the structlog warning via
structlog.testing.capture_logs(), and asserts the exception message text
appears in the log entry. The assertion fails (confirming the bug exists)
and the @tdd_expected_fail tag inverts the result so CI passes.

Files added:
- features/tdd_event_bus_exception_swallow.feature — tagged with
  @tdd_expected_fail @tdd_bug @tdd_bug_988
- features/steps/tdd_event_bus_exception_swallow_steps.py — step
  definitions exercising the specific emit() exception-handling code path

Robot test: N/A — purely unit-level concern (single class, no external
services or IPC).

ISSUES CLOSED: #1093
2026-03-23 05:40:07 +00:00