summaryrefslogtreecommitdiff
path: root/internal/eventloop_test.go
diff options
context:
space:
mode:
Diffstat (limited to 'internal/eventloop_test.go')
-rw-r--r--internal/eventloop_test.go31
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)