Merge pull request #190 from lavalamp/fix_name

File name should have changed during query->selector rename. Also, make selector parsing deterministic.
pull/6/head
brendandburns 2014-06-20 10:09:47 -07:00
commit 4deaca1ce2
2 changed files with 13 additions and 0 deletions

View File

@ -18,6 +18,7 @@ package labels
import (
"fmt"
"sort"
"strings"
)
@ -101,6 +102,7 @@ func SelectorFromSet(ls Set) Selector {
// Takes a string repsenting a selector and returns an object suitable for matching, or an error.
func ParseSelector(selector string) (Selector, error) {
parts := strings.Split(selector, ",")
sort.StringSlice(parts).Sort()
var items []Selector
for _, part := range parts {
if part == "" {

View File

@ -47,6 +47,17 @@ func TestSelectorParse(t *testing.T) {
}
}
func TestDeterministicParse(t *testing.T) {
s1, err := ParseSelector("x=a,a=x")
s2, err2 := ParseSelector("a=x,x=a")
if err != nil || err2 != nil {
t.Errorf("Unexpected parse error")
}
if s1.String() != s2.String() {
t.Errorf("Non-deterministic parse")
}
}
func expectMatch(t *testing.T, selector string, ls Set) {
lq, err := ParseSelector(selector)
if err != nil {