X-Git-Url: https://git.octo.it/?a=blobdiff_plain;f=src%2Futils_latency_test.c;h=7d160398f978665aa5f3c2d8ddcd43cc335e0219;hb=79963d13c1884d1d92667cc502ad20758b084a12;hp=f275813d59c121fbd44a5be35e6203893c6bb079;hpb=5047407e6c0ca8b53bf1629144396702cd18cf08;p=collectd.git diff --git a/src/utils_latency_test.c b/src/utils_latency_test.c index f275813d..7d160398 100644 --- a/src/utils_latency_test.c +++ b/src/utils_latency_test.c @@ -28,12 +28,12 @@ #include "common.h" /* for STATIC_ARRAY_SIZE */ #include "collectd.h" + #include "testing.h" -#include "utils_time.h" #include "utils_latency.h" +#include "utils_time.h" -DEF_TEST(simple) -{ +DEF_TEST(simple) { struct { double val; double min; @@ -41,64 +41,67 @@ DEF_TEST(simple) double sum; double avg; } cases[] = { - /* val min max sum avg */ - {0.5, 0.5, 0.5, 0.5, 0.5}, - {0.3, 0.3, 0.5, 0.8, 0.4}, - {0.7, 0.3, 0.7, 1.5, 0.5}, - {2.5, 0.3, 2.5, 4.0, 1.0}, - { 99, 0.3, 99, 103, 20.6}, - /* { -1, 0.3, 99, 103, 20.6}, see issue #1139 */ + /* val min max sum avg */ + {0.5, 0.5, 0.5, 0.5, 0.5}, {0.3, 0.3, 0.5, 0.8, 0.4}, + {0.7, 0.3, 0.7, 1.5, 0.5}, {2.5, 0.3, 2.5, 4.0, 1.0}, + {99, 0.3, 99, 103, 20.6}, + /* { -1, 0.3, 99, 103, 20.6}, see issue #1139 */ }; - size_t i; latency_counter_t *l; - CHECK_NOT_NULL (l = latency_counter_create ()); - - for (i = 0; i < STATIC_ARRAY_SIZE (cases); i++) { - printf ("# case %zu: DOUBLE_TO_CDTIME_T(%g) = %"PRIu64"\n", - i, cases[i].val, DOUBLE_TO_CDTIME_T (cases[i].val)); - latency_counter_add (l, DOUBLE_TO_CDTIME_T (cases[i].val)); - - EXPECT_EQ_DOUBLE (cases[i].min, CDTIME_T_TO_DOUBLE (latency_counter_get_min (l))); - EXPECT_EQ_DOUBLE (cases[i].max, CDTIME_T_TO_DOUBLE (latency_counter_get_max (l))); - EXPECT_EQ_DOUBLE (cases[i].sum, CDTIME_T_TO_DOUBLE (latency_counter_get_sum (l))); - EXPECT_EQ_DOUBLE (cases[i].avg, CDTIME_T_TO_DOUBLE (latency_counter_get_average (l))); + CHECK_NOT_NULL(l = latency_counter_create()); + + for (size_t i = 0; i < STATIC_ARRAY_SIZE(cases); i++) { + printf("# case %zu: DOUBLE_TO_CDTIME_T(%g) = %" PRIu64 "\n", i, + cases[i].val, DOUBLE_TO_CDTIME_T(cases[i].val)); + latency_counter_add(l, DOUBLE_TO_CDTIME_T(cases[i].val)); + + EXPECT_EQ_DOUBLE(cases[i].min, + CDTIME_T_TO_DOUBLE(latency_counter_get_min(l))); + EXPECT_EQ_DOUBLE(cases[i].max, + CDTIME_T_TO_DOUBLE(latency_counter_get_max(l))); + EXPECT_EQ_DOUBLE(cases[i].sum, + CDTIME_T_TO_DOUBLE(latency_counter_get_sum(l))); + EXPECT_EQ_DOUBLE(cases[i].avg, + CDTIME_T_TO_DOUBLE(latency_counter_get_average(l))); } - latency_counter_destroy (l); + latency_counter_destroy(l); return 0; } -DEF_TEST(percentile) -{ - size_t i; +DEF_TEST(percentile) { latency_counter_t *l; - CHECK_NOT_NULL (l = latency_counter_create ()); + CHECK_NOT_NULL(l = latency_counter_create()); - for (i = 0; i < 100; i++) { - latency_counter_add (l, TIME_T_TO_CDTIME_T (((time_t) i) + 1)); + for (size_t i = 0; i < 100; i++) { + latency_counter_add(l, TIME_T_TO_CDTIME_T(((time_t)i) + 1)); } - EXPECT_EQ_DOUBLE ( 1.0, CDTIME_T_TO_DOUBLE (latency_counter_get_min (l))); - EXPECT_EQ_DOUBLE (100.0, CDTIME_T_TO_DOUBLE (latency_counter_get_max (l))); - EXPECT_EQ_DOUBLE (100.0 * 101.0 / 2.0, CDTIME_T_TO_DOUBLE (latency_counter_get_sum (l))); - EXPECT_EQ_DOUBLE ( 50.5, CDTIME_T_TO_DOUBLE (latency_counter_get_average (l))); - - EXPECT_EQ_DOUBLE (50.0, CDTIME_T_TO_DOUBLE (latency_counter_get_percentile (l, 50.0))); - EXPECT_EQ_DOUBLE (80.0, CDTIME_T_TO_DOUBLE (latency_counter_get_percentile (l, 80.0))); - EXPECT_EQ_DOUBLE (95.0, CDTIME_T_TO_DOUBLE (latency_counter_get_percentile (l, 95.0))); - EXPECT_EQ_DOUBLE (99.0, CDTIME_T_TO_DOUBLE (latency_counter_get_percentile (l, 99.0))); - - CHECK_ZERO (latency_counter_get_percentile (l, -1.0)); - CHECK_ZERO (latency_counter_get_percentile (l, 101.0)); - - latency_counter_destroy (l); + EXPECT_EQ_DOUBLE(1.0, CDTIME_T_TO_DOUBLE(latency_counter_get_min(l))); + EXPECT_EQ_DOUBLE(100.0, CDTIME_T_TO_DOUBLE(latency_counter_get_max(l))); + EXPECT_EQ_DOUBLE(100.0 * 101.0 / 2.0, + CDTIME_T_TO_DOUBLE(latency_counter_get_sum(l))); + EXPECT_EQ_DOUBLE(50.5, CDTIME_T_TO_DOUBLE(latency_counter_get_average(l))); + + EXPECT_EQ_DOUBLE(50.0, + CDTIME_T_TO_DOUBLE(latency_counter_get_percentile(l, 50.0))); + EXPECT_EQ_DOUBLE(80.0, + CDTIME_T_TO_DOUBLE(latency_counter_get_percentile(l, 80.0))); + EXPECT_EQ_DOUBLE(95.0, + CDTIME_T_TO_DOUBLE(latency_counter_get_percentile(l, 95.0))); + EXPECT_EQ_DOUBLE(99.0, + CDTIME_T_TO_DOUBLE(latency_counter_get_percentile(l, 99.0))); + + CHECK_ZERO(latency_counter_get_percentile(l, -1.0)); + CHECK_ZERO(latency_counter_get_percentile(l, 101.0)); + + latency_counter_destroy(l); return 0; } -int main (void) -{ +int main(void) { RUN_TEST(simple); RUN_TEST(percentile);