summaryrefslogtreecommitdiff
path: root/internal/eventloop_constructor_test.go
diff options
context:
space:
mode:
authorPaul Buetow <paul@buetow.org>2026-03-06 15:50:50 +0200
committerPaul Buetow <paul@buetow.org>2026-03-06 15:50:50 +0200
commit58825fb53b900aedd3b161ff0e3b769a2cf188ab (patch)
tree2b805fabfba124cb794006f1b4b16ed05f5e7da0 /internal/eventloop_constructor_test.go
parent99b02bf8c389a793df5d5986db05eed7e459f7b1 (diff)
fix: return errors for invalid event filters (task 382)
Diffstat (limited to 'internal/eventloop_constructor_test.go')
-rw-r--r--internal/eventloop_constructor_test.go41
1 files changed, 41 insertions, 0 deletions
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")
+ }
+}