diff options
Diffstat (limited to 'qemu/tests/test-write-threshold.c')
-rw-r--r-- | qemu/tests/test-write-threshold.c | 119 |
1 files changed, 0 insertions, 119 deletions
diff --git a/qemu/tests/test-write-threshold.c b/qemu/tests/test-write-threshold.c deleted file mode 100644 index fdbc8020f..000000000 --- a/qemu/tests/test-write-threshold.c +++ /dev/null @@ -1,119 +0,0 @@ -/* - * Test block device write threshold - * - * This work is licensed under the terms of the GNU LGPL, version 2 or later. - * See the COPYING.LIB file in the top-level directory. - * - */ - -#include "qemu/osdep.h" -#include <glib.h> -#include "block/block_int.h" -#include "block/write-threshold.h" - - -static void test_threshold_not_set_on_init(void) -{ - uint64_t res; - BlockDriverState bs; - memset(&bs, 0, sizeof(bs)); - - g_assert(!bdrv_write_threshold_is_set(&bs)); - - res = bdrv_write_threshold_get(&bs); - g_assert_cmpint(res, ==, 0); -} - -static void test_threshold_set_get(void) -{ - uint64_t threshold = 4 * 1024 * 1024; - uint64_t res; - BlockDriverState bs; - memset(&bs, 0, sizeof(bs)); - - bdrv_write_threshold_set(&bs, threshold); - - g_assert(bdrv_write_threshold_is_set(&bs)); - - res = bdrv_write_threshold_get(&bs); - g_assert_cmpint(res, ==, threshold); -} - -static void test_threshold_multi_set_get(void) -{ - uint64_t threshold1 = 4 * 1024 * 1024; - uint64_t threshold2 = 15 * 1024 * 1024; - uint64_t res; - BlockDriverState bs; - memset(&bs, 0, sizeof(bs)); - - bdrv_write_threshold_set(&bs, threshold1); - bdrv_write_threshold_set(&bs, threshold2); - res = bdrv_write_threshold_get(&bs); - g_assert_cmpint(res, ==, threshold2); -} - -static void test_threshold_not_trigger(void) -{ - uint64_t amount = 0; - uint64_t threshold = 4 * 1024 * 1024; - BlockDriverState bs; - BdrvTrackedRequest req; - - memset(&bs, 0, sizeof(bs)); - memset(&req, 0, sizeof(req)); - req.offset = 1024; - req.bytes = 1024; - - bdrv_write_threshold_set(&bs, threshold); - amount = bdrv_write_threshold_exceeded(&bs, &req); - g_assert_cmpuint(amount, ==, 0); -} - - -static void test_threshold_trigger(void) -{ - uint64_t amount = 0; - uint64_t threshold = 4 * 1024 * 1024; - BlockDriverState bs; - BdrvTrackedRequest req; - - memset(&bs, 0, sizeof(bs)); - memset(&req, 0, sizeof(req)); - req.offset = (4 * 1024 * 1024) - 1024; - req.bytes = 2 * 1024; - - bdrv_write_threshold_set(&bs, threshold); - amount = bdrv_write_threshold_exceeded(&bs, &req); - g_assert_cmpuint(amount, >=, 1024); -} - -typedef struct TestStruct { - const char *name; - void (*func)(void); -} TestStruct; - - -int main(int argc, char **argv) -{ - size_t i; - TestStruct tests[] = { - { "/write-threshold/not-set-on-init", - test_threshold_not_set_on_init }, - { "/write-threshold/set-get", - test_threshold_set_get }, - { "/write-threshold/multi-set-get", - test_threshold_multi_set_get }, - { "/write-threshold/not-trigger", - test_threshold_not_trigger }, - { "/write-threshold/trigger", - test_threshold_trigger }, - { NULL, NULL } - }; - - g_test_init(&argc, &argv, NULL); - for (i = 0; tests[i].name != NULL; i++) { - g_test_add_func(tests[i].name, tests[i].func); - } - return g_test_run(); -} |