summaryrefslogtreecommitdiff
path: root/internal/tui/tui_test.go
diff options
context:
space:
mode:
authorPaul Buetow <paul@buetow.org>2026-03-08 20:14:32 +0200
committerPaul Buetow <paul@buetow.org>2026-03-08 20:14:32 +0200
commit4acb116d78588489e79b7e17a79d4609a32fbba7 (patch)
treea43e755c890083fec1fb86169844593cf9a70e13 /internal/tui/tui_test.go
parent21aa0cd0f96087fa040750643109c496e7a1b3ee (diff)
task 367: carry full trace filters through TUI context
Diffstat (limited to 'internal/tui/tui_test.go')
-rw-r--r--internal/tui/tui_test.go24
1 files changed, 24 insertions, 0 deletions
diff --git a/internal/tui/tui_test.go b/internal/tui/tui_test.go
index 85ebb71..608ba41 100644
--- a/internal/tui/tui_test.go
+++ b/internal/tui/tui_test.go
@@ -11,6 +11,7 @@ import (
"time"
coreflamegraph "ior/internal/flamegraph"
+ "ior/internal/globalfilter"
"ior/internal/probemanager"
"ior/internal/statsengine"
dashboardui "ior/internal/tui/dashboard"
@@ -34,6 +35,29 @@ func (f fakeProbeManager) States() []probemanager.ProbeState { return f.states }
func (f fakeProbeManager) Toggle(string) error { return nil }
func (f fakeProbeManager) ActiveCount() (int, int) { return len(f.states), len(f.states) }
+func TestTraceFiltersContextRoundTripClonesPayload(t *testing.T) {
+ original := globalfilter.Filter{
+ Comm: &globalfilter.StringFilter{Pattern: "nginx"},
+ File: &globalfilter.StringFilter{Pattern: "/var/log"},
+ PID: &globalfilter.NumericFilter{Op: globalfilter.OpEq, Value: 42},
+ }
+
+ ctx := ContextWithTraceFilters(context.Background(), original)
+ original.Comm.Pattern = "mutated"
+ original.PID.Value = 7
+
+ got, ok := TraceFiltersFromContext(ctx)
+ if !ok {
+ t.Fatalf("expected trace filters in context")
+ }
+ if got.Comm == nil || got.Comm.Pattern != "nginx" {
+ t.Fatalf("expected comm pattern cloned into context, got %+v", got.Comm)
+ }
+ if got.PID == nil || got.PID.Value != 42 {
+ t.Fatalf("expected pid filter cloned into context, got %+v", got.PID)
+ }
+}
+
func TestPidSelectedTransitionsToDashboardAndSetsPIDFilter(t *testing.T) {
flags.SetPidFilter(-1)
flags.SetTidFilter(99)