Start trying to write tests for promql

This commit is contained in:
Owen Williams 2023-12-08 12:46:26 -05:00
parent e05370fdb8
commit 146d168e09
2 changed files with 16 additions and 1 deletions

View file

@ -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 {

View file

@ -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{