From 58825fb53b900aedd3b161ff0e3b769a2cf188ab Mon Sep 17 00:00:00 2001 From: Paul Buetow Date: Fri, 6 Mar 2026 15:50:50 +0200 Subject: fix: return errors for invalid event filters (task 382) --- internal/eventloop_constructor_test.go | 41 ++++++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 internal/eventloop_constructor_test.go (limited to 'internal/eventloop_constructor_test.go') diff --git a/internal/eventloop_constructor_test.go b/internal/eventloop_constructor_test.go new file mode 100644 index 0000000..52ca570 --- /dev/null +++ b/internal/eventloop_constructor_test.go @@ -0,0 +1,41 @@ +package internal + +import ( + "strings" + "testing" + + "ior/internal/types" +) + +func mustNewEventLoop(tb testing.TB, cfg eventLoopConfig) *eventLoop { + tb.Helper() + el, err := newEventLoop(cfg) + if err != nil { + tb.Fatalf("newEventLoop() error = %v", err) + } + return el +} + +func TestNewEventFilterRejectsTooLongCommFilter(t *testing.T) { + tooLong := strings.Repeat("a", types.MAX_PROGNAME_LENGTH+1) + _, err := newEventFilter(tooLong, "") + if err == nil { + t.Fatalf("expected error for comm filter longer than %d", types.MAX_PROGNAME_LENGTH) + } +} + +func TestNewEventFilterRejectsTooLongPathFilter(t *testing.T) { + tooLong := strings.Repeat("a", types.MAX_FILENAME_LENGTH+1) + _, err := newEventFilter("", tooLong) + if err == nil { + t.Fatalf("expected error for path filter longer than %d", types.MAX_FILENAME_LENGTH) + } +} + +func TestNewEventLoopPropagatesFilterError(t *testing.T) { + tooLong := strings.Repeat("a", types.MAX_PROGNAME_LENGTH+1) + _, err := newEventLoop(eventLoopConfig{commFilter: tooLong}) + if err == nil { + t.Fatalf("expected newEventLoop to propagate invalid filter error") + } +} -- cgit v1.2.3