[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-block] [PATCH v2 12/17] throttle: Check that burst_level leaks cor
From: |
Alberto Garcia |
Subject: |
[Qemu-block] [PATCH v2 12/17] throttle: Check that burst_level leaks correctly |
Date: |
Thu, 18 Feb 2016 12:27:05 +0200 |
This patch expands test_leak_bucket() to check that burst_level leaks
correctly.
Signed-off-by: Alberto Garcia <address@hidden>
Reviewed-by: Stefan Hajnoczi <address@hidden>
---
tests/test-throttle.c | 16 ++++++++++++++++
1 file changed, 16 insertions(+)
diff --git a/tests/test-throttle.c b/tests/test-throttle.c
index 34f1f9e..145ba08 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)
--
2.7.0
- [Qemu-block] [PATCH v2 05/17] throttle: Set always an average value when setting a maximum value, (continued)
- [Qemu-block] [PATCH v2 05/17] throttle: Set always an average value when setting a maximum value, Alberto Garcia, 2016/02/18
- [Qemu-block] [PATCH v2 13/17] throttle: Test throttle_compute_wait() during bursts, Alberto Garcia, 2016/02/18
- [Qemu-block] [PATCH v2 02/17] throttle: Make throttle_conflicting() set errp, Alberto Garcia, 2016/02/18
- [Qemu-block] [PATCH v2 01/17] throttle: Make throttle_compute_timer() static, Alberto Garcia, 2016/02/18
- [Qemu-block] [PATCH v2 11/17] qapi: Add burst length fields to BlockDeviceInfo, Alberto Garcia, 2016/02/18
- [Qemu-block] [PATCH v2 03/17] throttle: Make throttle_max_is_missing_limit() set errp, Alberto Garcia, 2016/02/18
- [Qemu-block] [PATCH v2 16/17] docs: Document the throttling infrastructure, Alberto Garcia, 2016/02/18
- [Qemu-block] [PATCH v2 09/17] throttle: Add command-line settings to define the burst periods, Alberto Garcia, 2016/02/18
- [Qemu-block] [PATCH v2 04/17] throttle: Make throttle_is_valid() set errp, Alberto Garcia, 2016/02/18
- [Qemu-block] [PATCH v2 15/17] qapi: Correct the name of the iops_rd parameter, Alberto Garcia, 2016/02/18
- [Qemu-block] [PATCH v2 12/17] throttle: Check that burst_level leaks correctly,
Alberto Garcia <=
- [Qemu-block] [PATCH v2 07/17] throttle: Use throttle_config_init() to initialize ThrottleConfig, Alberto Garcia, 2016/02/18
- [Qemu-block] [PATCH v2 14/17] qemu-iotests: Extend iotest 093 to test bursts, Alberto Garcia, 2016/02/18
- [Qemu-block] [PATCH v2 06/17] throttle: Merge all functions that check the configuration into one, Alberto Garcia, 2016/02/18
- [Qemu-block] [PATCH v2 17/17] MAINTAINERS: Add myself as maintainer of the throttling code, Alberto Garcia, 2016/02/18
- [Qemu-block] [PATCH v2 08/17] throttle: Add support for burst periods, Alberto Garcia, 2016/02/18
- [Qemu-block] [PATCH v2 10/17] qapi: Add burst length parameters to block_set_io_throttle, Alberto Garcia, 2016/02/18
- Re: [Qemu-block] [PATCH v2 00/17] throttle: Allow I/O bursts for a user-defined period of time, Kevin Wolf, 2016/02/22