From bf3311cb2e612c925b5641cc7ef960c1ab5a20f0 Mon Sep 17 00:00:00 2001 From: Charles Korn Date: Tue, 15 Oct 2024 14:31:19 +1100 Subject: [PATCH] Add grouping test cases to `TestCompareVariousMixedMetricsBinaryOperations` --- pkg/streamingpromql/engine_test.go | 7 +++++++ pkg/streamingpromql/testutils/utils.go | 6 +++++- 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/pkg/streamingpromql/engine_test.go b/pkg/streamingpromql/engine_test.go index 34ceb1bfb0d..9cc0d81d646 100644 --- a/pkg/streamingpromql/engine_test.go +++ b/pkg/streamingpromql/engine_test.go @@ -1926,6 +1926,13 @@ func TestCompareVariousMixedMetricsBinaryOperations(t *testing.T) { binaryExpr += fmt.Sprintf(` %s series{label="%s"}`, op, label) } expressions = append(expressions, binaryExpr) + + // Same thing again, this time with grouping. + binaryExpr = fmt.Sprintf(`series{label="%s"}`, labels[0]) + for _, label := range labels[1:] { + binaryExpr += fmt.Sprintf(` %s on (group) series{label="%s"}`, op, label) + } + expressions = append(expressions, binaryExpr) } } diff --git a/pkg/streamingpromql/testutils/utils.go b/pkg/streamingpromql/testutils/utils.go index 6fb29da174a..d85424775af 100644 --- a/pkg/streamingpromql/testutils/utils.go +++ b/pkg/streamingpromql/testutils/utils.go @@ -112,7 +112,11 @@ func requireInEpsilonIfNotZero(t testing.TB, expected, actual float64, msgAndArg func requireFloatBucketsMatch(t testing.TB, b1, b2 []float64) { require.Equal(t, len(b1), len(b2), "bucket lengths match") for i, b := range b1 { - require.InEpsilon(t, b, b2[i], 1e-10, "bucket values match") + if b == 0 { + require.Equal(t, b, b2[i], "bucket values match") + } else { + require.InEpsilon(t, b, b2[i], 1e-10, "bucket values match") + } } }