From: Alberto Garcia Date: Thu, 18 Feb 2016 10:27:05 +0000 (+0200) Subject: throttle: Check that burst_level leaks correctly X-Git-Tag: v2.6.0-rc0~92^2~6 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=eb8a1a1cbda15d776d6d505f14f61c7852f6a51a;p=thirdparty%2Fqemu.git throttle: Check that burst_level leaks correctly This patch expands test_leak_bucket() to check that burst_level leaks correctly. Signed-off-by: Alberto Garcia Reviewed-by: Stefan Hajnoczi Signed-off-by: Kevin Wolf --- diff --git a/tests/test-throttle.c b/tests/test-throttle.c index 34f1f9efa15..145ba085f23 100644 --- a/tests/test-throttle.c +++ b/tests/test-throttle.c @@ -60,6 +60,22 @@ static void test_leak_bucket(void) g_assert(bkt.avg == 150); g_assert(bkt.max == 15); g_assert(double_cmp(bkt.level, 0)); + + /* check that burst_level leaks correctly */ + bkt.burst_level = 6; + bkt.max = 250; + bkt.burst_length = 2; /* otherwise burst_level will not leak */ + throttle_leak_bucket(&bkt, NANOSECONDS_PER_SECOND / 100); + g_assert(double_cmp(bkt.burst_level, 3.5)); + + throttle_leak_bucket(&bkt, NANOSECONDS_PER_SECOND / 100); + g_assert(double_cmp(bkt.burst_level, 1)); + + throttle_leak_bucket(&bkt, NANOSECONDS_PER_SECOND / 100); + g_assert(double_cmp(bkt.burst_level, 0)); + + throttle_leak_bucket(&bkt, NANOSECONDS_PER_SECOND / 100); + g_assert(double_cmp(bkt.burst_level, 0)); } static void test_compute_wait(void)