From a4d57fce74ba5f0377143eb934ce80bd656ea436 Mon Sep 17 00:00:00 2001 From: beorn7 Date: Wed, 7 May 2025 14:52:01 +0200 Subject: [PATCH] promqltest: Adjust more tests to "left-open" ranges This was an oversight because the old tests still happened to pass with the new behavior, but important test data was excluded at the left end of the interval, rendering some tests not actually testing what we want to test. In the past, we also applied different strategies to adjust the test (extend the range from 1m to 2m, or set the evaluation timestamp to 45s). This commit unifies things and reduces redundancy. Signed-off-by: beorn7 --- promql/promqltest/testdata/functions.test | 78 +++++++++++------------ 1 file changed, 36 insertions(+), 42 deletions(-) diff --git a/promql/promqltest/testdata/functions.test b/promql/promqltest/testdata/functions.test index fafe2dda40..d55ce5625b 100644 --- a/promql/promqltest/testdata/functions.test +++ b/promql/promqltest/testdata/functions.test @@ -892,90 +892,84 @@ eval instant at 55s avg_over_time(metric[1m]) eval instant at 55s sum_over_time(metric[1m])/count_over_time(metric[1m]) {} 3 -eval instant at 1m avg_over_time(metric2[1m]) +eval instant at 55s avg_over_time(metric2[1m]) {} Inf -eval instant at 1m sum_over_time(metric2[1m])/count_over_time(metric2[1m]) +eval instant at 55s sum_over_time(metric2[1m])/count_over_time(metric2[1m]) {} Inf -eval instant at 1m avg_over_time(metric3[1m]) +eval instant at 55s avg_over_time(metric3[1m]) {} -Inf -eval instant at 1m sum_over_time(metric3[1m])/count_over_time(metric3[1m]) +eval instant at 55s sum_over_time(metric3[1m])/count_over_time(metric3[1m]) {} -Inf -eval instant at 1m avg_over_time(metric4[1m]) +eval instant at 55s avg_over_time(metric4[1m]) {} NaN -eval instant at 1m sum_over_time(metric4[1m])/count_over_time(metric4[1m]) +eval instant at 55s sum_over_time(metric4[1m])/count_over_time(metric4[1m]) {} NaN -eval instant at 1m avg_over_time(metric5[1m]) +eval instant at 55s avg_over_time(metric5[1m]) {} Inf -eval instant at 1m sum_over_time(metric5[1m])/count_over_time(metric5[1m]) +eval instant at 55s sum_over_time(metric5[1m])/count_over_time(metric5[1m]) {} Inf -eval instant at 1m avg_over_time(metric5b[1m]) +eval instant at 55s avg_over_time(metric5b[1m]) {} Inf -eval instant at 1m sum_over_time(metric5b[1m])/count_over_time(metric5b[1m]) +eval instant at 55s sum_over_time(metric5b[1m])/count_over_time(metric5b[1m]) {} Inf -eval instant at 1m avg_over_time(metric5c[1m]) +eval instant at 55s avg_over_time(metric5c[1m]) {} NaN -eval instant at 1m sum_over_time(metric5c[1m])/count_over_time(metric5c[1m]) +eval instant at 55s sum_over_time(metric5c[1m])/count_over_time(metric5c[1m]) {} NaN -eval instant at 1m avg_over_time(metric6[1m]) +eval instant at 55s avg_over_time(metric6[1m]) {} -Inf -eval instant at 1m sum_over_time(metric6[1m])/count_over_time(metric6[1m]) +eval instant at 55s sum_over_time(metric6[1m])/count_over_time(metric6[1m]) {} -Inf -eval instant at 1m avg_over_time(metric6b[1m]) +eval instant at 55s avg_over_time(metric6b[1m]) {} -Inf -eval instant at 1m sum_over_time(metric6b[1m])/count_over_time(metric6b[1m]) +eval instant at 55s sum_over_time(metric6b[1m])/count_over_time(metric6b[1m]) {} -Inf -eval instant at 1m avg_over_time(metric6c[1m]) +eval instant at 55s avg_over_time(metric6c[1m]) {} NaN -eval instant at 1m sum_over_time(metric6c[1m])/count_over_time(metric6c[1m]) +eval instant at 55s sum_over_time(metric6c[1m])/count_over_time(metric6c[1m]) {} NaN -eval instant at 1m avg_over_time(metric7[1m]) +eval instant at 55s avg_over_time(metric7[1m]) {} NaN -eval instant at 1m sum_over_time(metric7[1m])/count_over_time(metric7[1m]) +eval instant at 55s sum_over_time(metric7[1m])/count_over_time(metric7[1m]) {} NaN -eval instant at 1m avg_over_time(metric8[1m]) +eval instant at 55s avg_over_time(metric8[1m]) {} 9.988465674311579e+307 # This overflows float64. -eval instant at 1m sum_over_time(metric8[2m])/count_over_time(metric8[2m]) +eval instant at 55s sum_over_time(metric8[1m])/count_over_time(metric8[1m]) {} +Inf -eval instant at 1m avg_over_time(metric9[1m]) +eval instant at 55s avg_over_time(metric9[1m]) {} -9.988465674311579e+307 # This overflows float64. -eval instant at 1m sum_over_time(metric9[1m])/count_over_time(metric9[1m]) +eval instant at 55s sum_over_time(metric9[1m])/count_over_time(metric9[1m]) {} -Inf -eval instant at 45s avg_over_time(metric10[1m]) +eval instant at 55s avg_over_time(metric10[1m]) {} 0 -eval instant at 1m avg_over_time(metric10[2m]) - {} 0 - -eval instant at 45s sum_over_time(metric10[1m])/count_over_time(metric10[1m]) - {} 0 - -eval instant at 1m sum_over_time(metric10[2m])/count_over_time(metric10[2m]) +eval instant at 55s sum_over_time(metric10[1m])/count_over_time(metric10[1m]) {} 0 # NaN behavior. @@ -985,27 +979,27 @@ eval instant at 20s avg_over_time(metric11[1m]) eval instant at 30s avg_over_time(metric11[1m]) {} NaN -eval instant at 1m avg_over_time(metric11[1m]) +eval instant at 55s avg_over_time(metric11[1m]) {} NaN -eval instant at 1m sum_over_time(metric11[1m])/count_over_time(metric11[1m]) +eval instant at 55s sum_over_time(metric11[1m])/count_over_time(metric11[1m]) {} NaN # Tests for samples with mix of floats and histograms. -eval_warn instant at 1m sum_over_time(metric12[1m]) +eval_warn instant at 55s sum_over_time(metric12[1m]) # no result. -eval_warn instant at 1m avg_over_time(metric12[1m]) +eval_warn instant at 55s avg_over_time(metric12[1m]) # no result. # Tests for samples with only histograms. -eval instant at 1m sum_over_time(metric13[1m]) - {} {{schema:0 sum:5 count:5}} +eval instant at 55s sum_over_time(metric13[1m]) + {} {{schema:0 sum:6 count:6}} -eval instant at 1m avg_over_time(metric13[1m]) +eval instant at 55s avg_over_time(metric13[1m]) {} {{schema:0 sum:1 count:1}} -eval instant at 1m sum_over_time(metric13[1m])/count_over_time(metric13[1m]) +eval instant at 55s sum_over_time(metric13[1m])/count_over_time(metric13[1m]) {} {{schema:0 sum:1 count:1}} # Test if very big intermediate values cause loss of detail. @@ -1053,10 +1047,10 @@ clear load 10s metric 1.5990505637277868 1.5990505637277868 1.5990505637277868 -eval instant at 1m stdvar_over_time(metric[1m]) +eval instant at 55s stdvar_over_time(metric[1m]) {} 0 -eval instant at 1m stddev_over_time(metric[1m]) +eval instant at 55s stddev_over_time(metric[1m]) {} 0 # Tests for mad_over_time.