diff options
author | Alberto Garcia <berto@igalia.com> | 2016-02-18 12:27:05 +0200 |
---|---|---|
committer | Kevin Wolf <kwolf@redhat.com> | 2016-02-22 14:08:06 +0100 |
commit | eb8a1a1cbda15d776d6d505f14f61c7852f6a51a (patch) | |
tree | 6f389e62399796d8e327d9db4dbafd5c7e844254 /tests | |
parent | 398befdf50b71176ade6f9c07075a2f41bd6dd32 (diff) |
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 <berto@igalia.com>
Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Diffstat (limited to 'tests')
-rw-r--r-- | tests/test-throttle.c | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/tests/test-throttle.c b/tests/test-throttle.c index 34f1f9efa1..145ba085f2 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) |