From 2826d10f655f84dfce7bec7e2e16a23cc5bd9304 Mon Sep 17 00:00:00 2001 From: Joel Whittaker-Smith Date: Thu, 8 Oct 2020 23:35:28 +0200 Subject: [PATCH] Fix test due to map iteration Signed-off-by: Joel Whittaker-Smith --- pkg/allow/allow_labels.go | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/pkg/allow/allow_labels.go b/pkg/allow/allow_labels.go index 4ac4116e..6051d14f 100644 --- a/pkg/allow/allow_labels.go +++ b/pkg/allow/allow_labels.go @@ -49,7 +49,7 @@ func (a Labels) Allowed(metric string, labels, values []string) ([]string, []str var finalLabels, finalValues []string labelSet := labelSet(allowedLabels) - for allowedLabel := range labelSet { + for _, allowedLabel := range labelSet { for i, label := range labels { if label == allowedLabel { finalLabels = append(finalLabels, label) @@ -61,12 +61,16 @@ func (a Labels) Allowed(metric string, labels, values []string) ([]string, []str return finalLabels, finalValues } -func labelSet(lists ...[]string) map[string]interface{} { +func labelSet(lists ...[]string) []string { m := make(map[string]interface{}) + var set []string for _, list := range lists { for _, e := range list { - m[e] = struct{}{} + if _, ok := m[e]; !ok { + m[e] = struct{}{} + set = append(set, e) + } } } - return m + return set }