Commit 12d81b1
summary: add full-pipeline E2E tests for string_patterns
Add comprehensive end-to-end tests that exercise the complete path:
raw trace2 JSON events -> parse -> apply -> prepareDataset ->
ToTraces -> extract OTLP span attributes -> verify summary JSON.
These tests are designed to be adversarial and expose any gaps in
the data flow. They cover:
- Process-level data events (nesting=1) promoted at dl:summary
- Region-level data events (nesting=2) with a proper region stack:
value appears in BOTH the summary and the region's own data
- Orphaned nested data events (nesting=2 with no region stack):
previously would have crashed due to the off-by-one bounds bug;
now the value is promoted and region attachment fails silently
- Multiple data events accumulating in the same field as an array
- Non-matching events excluded (wrong category, wrong key prefix)
- Integer values from data events (not just strings)
- Coexistence with message_patterns and region_timers in one summary
- Promoted values visible at ALL detail levels (summary/process/verbose)
- No summary config at all (nil) doesn't crash
- No string_patterns configured doesn't create spurious entries
- Data events from non-main threads
- Deeply nested events (nesting=5) with only a partial region stack
- Multiple rules matching different categories independently
Also replaces the earlier single-event e2e test with a richer
version using the test harness infrastructure (x_make_* helpers,
load_test_dataset_with_config, extractSummaryJSON).
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>1 parent b80358f commit 12d81b1
1 file changed
Lines changed: 523 additions & 0 deletions
0 commit comments