Ch2
This commit is contained in:
@@ -41,3 +41,26 @@ func TestLimiterBoundsQueue(t *testing.T) {
|
||||
t.Fatalf("waiter failed: %v", err)
|
||||
}
|
||||
}
|
||||
|
||||
func TestLimiterTracksKindsWithoutDuplicateCounters(t *testing.T) {
|
||||
l := New(2, 2)
|
||||
releaseSearch, err := l.AcquireKind(context.Background(), "searxng.search")
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
releaseChat, err := l.AcquireKind(context.Background(), "ollama.chat")
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
status := l.Status()
|
||||
if status.Active != 2 || status.Kinds["searxng.search"].Active != 1 || status.Kinds["ollama.chat"].Active != 1 {
|
||||
t.Fatalf("unexpected typed queue status: %+v", status)
|
||||
}
|
||||
releaseSearch()
|
||||
releaseSearch() // release must be idempotent
|
||||
releaseChat()
|
||||
status = l.Status()
|
||||
if status.Active != 0 || status.Kinds["searxng.search"].Active != 0 || status.Kinds["ollama.chat"].Active != 0 {
|
||||
t.Fatalf("release duplicated or leaked active counters: %+v", status)
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user