summaryrefslogtreecommitdiff
path: root/internal/mapr/server/turbo_aggregate_test.go
diff options
context:
space:
mode:
Diffstat (limited to 'internal/mapr/server/turbo_aggregate_test.go')
-rw-r--r--internal/mapr/server/turbo_aggregate_test.go19
1 files changed, 19 insertions, 0 deletions
diff --git a/internal/mapr/server/turbo_aggregate_test.go b/internal/mapr/server/turbo_aggregate_test.go
index f556f50..7ae4b5a 100644
--- a/internal/mapr/server/turbo_aggregate_test.go
+++ b/internal/mapr/server/turbo_aggregate_test.go
@@ -8,6 +8,7 @@ import (
"testing"
"time"
+ "github.com/mimecast/dtail/internal"
"github.com/mimecast/dtail/internal/config"
"github.com/mimecast/dtail/internal/io/dlog"
"github.com/mimecast/dtail/internal/io/line"
@@ -311,3 +312,21 @@ func TestTurboAggregateConcurrency(t *testing.T) {
t.Error("Did not find expected count of 1000 in results")
}
}
+
+func TestTurboAggregateAbortReturnsPromptlyWithActiveProcessors(t *testing.T) {
+ aggregate := &TurboAggregate{}
+ aggregate.done = internal.NewDone()
+ aggregate.activeProcessors.Store(1)
+
+ done := make(chan struct{})
+ go func() {
+ aggregate.Abort()
+ close(done)
+ }()
+
+ select {
+ case <-done:
+ case <-time.After(100 * time.Millisecond):
+ t.Fatal("Abort did not return promptly while processors were still active")
+ }
+}