From 46f277b90b998560eb0cf895f71ca667d2ef8a39 Mon Sep 17 00:00:00 2001 From: Damien Lespiau Date: Sat, 27 Jun 2015 18:03:15 +0100 Subject: stats: Exercise the reallocation paths Signed-off-by: Damien Lespiau --- lib/tests/igt_stats.c | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) (limited to 'lib/tests') diff --git a/lib/tests/igt_stats.c b/lib/tests/igt_stats.c index 6e4b233e..12778e2f 100644 --- a/lib/tests/igt_stats.c +++ b/lib/tests/igt_stats.c @@ -204,6 +204,29 @@ static void test_std_deviation(void) igt_stats_fini(&stats); } +static void test_reallocation(void) +{ + igt_stats_t stats; + unsigned int i; + + igt_stats_init_with_size(&stats, 1); + + for (i = 0; i < 101; i++) { + igt_stats_push(&stats, i); + /* also triggers ->sorted reallocations */ + if (i > 10) + igt_stats_get_median(&stats); + } + + igt_assert_eq(stats.n_values, 101); + for (i = 0; i < 101; i++) + igt_assert_eq(stats.values[i], i); + igt_assert_eq_double(igt_stats_get_mean(&stats), 50.0); + igt_assert_eq_double(igt_stats_get_median(&stats), 50.0); + + igt_stats_fini(&stats); +} + igt_simple_main { test_init_zero(); @@ -215,4 +238,5 @@ igt_simple_main test_mean(); test_invalidate_mean(); test_std_deviation(); + test_reallocation(); } -- cgit v1.2.3