diff options
Diffstat (limited to 'internal/eventloop_test.go')
| -rw-r--r-- | internal/eventloop_test.go | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/internal/eventloop_test.go b/internal/eventloop_test.go index b2354d9..b4ab460 100644 --- a/internal/eventloop_test.go +++ b/internal/eventloop_test.go @@ -2,7 +2,10 @@ package internal import ( "context" + "fmt" "ior/internal/event" + "ior/internal/file" + "ior/internal/flamegraph" "ior/internal/types" "syscall" "testing" @@ -787,6 +790,34 @@ func verifyMismatchCount(t *testing.T, el *eventLoop, expectedCount uint) { } } +// Helper functions for filter testing +func newEventLoopWithFilter(commFilter, pathFilter string) *eventLoop { + el := &eventLoop{ + filter: &eventFilter{ + commFilterEnable: commFilter != "", + commFilter: commFilter, + pathFilterEnable: pathFilter != "", + pathFilter: pathFilter, + }, + enterEvs: make(map[uint32]*event.Pair), + files: make(map[int32]file.File), + comms: make(map[uint32]string), + prevPairTimes: make(map[uint32]uint64), + printCb: func(ep *event.Pair) { fmt.Println(ep); ep.Recycle() }, + flamegraph: flamegraph.New(), + done: make(chan struct{}), + } + return el +} + +func verifyCommName(t *testing.T, el *eventLoop, tid uint32, expectedComm string) { + if comm, ok := el.comms[tid]; !ok { + t.Errorf("Expected comm name for tid %d but it wasn't found", tid) + } else if comm != expectedComm { + t.Errorf("Expected comm name '%s' for tid %d but got '%s'", expectedComm, tid, comm) + } +} + // Test open→read→write→close lifecycle func makeFdLifecycleTestData(t *testing.T) (td testData) { fd := int32(42) |
