From 146d168e097f0e1636adf39687c2318afda233aa Mon Sep 17 00:00:00 2001 From: Owen Williams Date: Fri, 8 Dec 2023 12:46:26 -0500 Subject: [PATCH] Start trying to write tests for promql --- model/textparse/openmetricsparse.go | 2 +- promql/parser/parse_test.go | 15 +++++++++++++++ 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/model/textparse/openmetricsparse.go b/model/textparse/openmetricsparse.go index 918c5298e6..0b016a7f25 100644 --- a/model/textparse/openmetricsparse.go +++ b/model/textparse/openmetricsparse.go @@ -465,7 +465,7 @@ func (p *OpenMetricsParser) parseMetricSuffix(t token) (Entry, error) { if p.offsets[0] == -1 { return EntryInvalid, fmt.Errorf("metric name not set while parsing: %q", p.l.b[p.start:p.l.i]) } - + var err error p.val, err = p.getFloatValue(t, "metric") if err != nil { diff --git a/promql/parser/parse_test.go b/promql/parser/parse_test.go index 2d764511e5..a8d28e7663 100644 --- a/promql/parser/parse_test.go +++ b/promql/parser/parse_test.go @@ -478,6 +478,7 @@ var testExpr = []struct { expected: &UnaryExpr{ Op: ADD, Expr: &VectorSelector{ + Name: "some_metric", LabelMatchers: []*labels.Matcher{ MustLabelMatcher(labels.MatchEqual, model.MetricNameLabel, "some_metric"), }, @@ -1717,6 +1718,20 @@ var testExpr = []struct { }, }, }, + { + input: `{"foo", a="bc"}`, + expected: &VectorSelector{ + Name: "foo:bar", + LabelMatchers: []*labels.Matcher{ + MustLabelMatcher(labels.MatchEqual, model.MetricNameLabel, "foo"), + MustLabelMatcher(labels.MatchEqual, "a", "bc"), + }, + PosRange: posrange.PositionRange{ + Start: 0, + End: 15, + }, + }, + }, { input: `{"foo"}`, expected: &VectorSelector{