tsdb tests: fix mockIndex implementation

Signed-off-by: Nicolás Pazos <npazosmendez@gmail.com>
This commit is contained in:
Nicolás Pazos 2024-09-17 13:56:36 -03:00
parent d2f1f4fb27
commit b43a07248f

View File

@ -20,6 +20,7 @@ import (
"math"
"math/rand"
"path/filepath"
"slices"
"sort"
"strconv"
"sync"
@ -2274,15 +2275,19 @@ func (m mockIndex) LabelValues(_ context.Context, name string, hints *storage.La
}
for _, series := range m.series {
matches := true
for _, matcher := range matchers {
if matcher.Matches(series.l.Get(matcher.Name)) {
// TODO(colega): shouldn't we check all the matchers before adding this to the values?
values = append(values, series.l.Get(name))
if hints != nil && hints.Limit > 0 && len(values) >= hints.Limit {
break
}
matches = matches && matcher.Matches(series.l.Get(matcher.Name))
if !matches {
break
}
}
if matches && !slices.Contains(values, series.l.Get(name)) {
values = append(values, series.l.Get(name))
}
if hints != nil && hints.Limit > 0 && len(values) >= hints.Limit {
break
}
}
return values, nil
@ -2392,7 +2397,7 @@ func (m mockIndex) LabelNames(_ context.Context, matchers ...*labels.Matcher) ([
for _, series := range m.series {
matches := true
for _, matcher := range matchers {
matches = matches || matcher.Matches(series.l.Get(matcher.Name))
matches = matches && matcher.Matches(series.l.Get(matcher.Name))
if !matches {
break
}