[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PULL 04/13] test-qht: test removal of non-existent entries
From: |
Richard Henderson |
Subject: |
[Qemu-devel] [PULL 04/13] test-qht: test removal of non-existent entries |
Date: |
Wed, 26 Sep 2018 11:37:00 -0700 |
From: "Emilio G. Cota" <address@hidden>
This improves qht.c code coverage from 89.44% to 90.00%.
Reviewed-by: Alex Bennée <address@hidden>
Signed-off-by: Emilio G. Cota <address@hidden>
Signed-off-by: Richard Henderson <address@hidden>
---
tests/test-qht.c | 26 ++++++++++++++++++++++++--
1 file changed, 24 insertions(+), 2 deletions(-)
diff --git a/tests/test-qht.c b/tests/test-qht.c
index 283fb3db39..05b1d6807a 100644
--- a/tests/test-qht.c
+++ b/tests/test-qht.c
@@ -41,7 +41,7 @@ static void insert(int a, int b)
}
}
-static void rm(int init, int end)
+static void do_rm(int init, int end, bool exist)
{
int i;
@@ -49,10 +49,24 @@ static void rm(int init, int end)
uint32_t hash;
hash = arr[i];
- g_assert_true(qht_remove(&ht, &arr[i], hash));
+ if (exist) {
+ g_assert_true(qht_remove(&ht, &arr[i], hash));
+ } else {
+ g_assert_false(qht_remove(&ht, &arr[i], hash));
+ }
}
}
+static void rm(int init, int end)
+{
+ do_rm(init, end, true);
+}
+
+static void rm_nonexist(int init, int end)
+{
+ do_rm(init, end, false);
+}
+
static void check(int a, int b, bool expected)
{
struct qht_stats stats;
@@ -157,8 +171,15 @@ static void qht_do_test(unsigned int mode, size_t
init_entries)
check_n(0);
qht_init(&ht, is_equal, 0, mode);
+ rm_nonexist(0, 4);
+ insert(0, 4);
+ rm_nonexist(5, 6);
+ insert(4, 6);
+ rm_nonexist(7, 8);
+ iter_rm_mod(1);
check_n(0);
+ rm_nonexist(0, 10);
insert(0, N);
check(0, N, true);
check_n(N);
@@ -183,6 +204,7 @@ static void qht_do_test(unsigned int mode, size_t
init_entries)
qht_reset(&ht);
insert(0, N);
+ rm_nonexist(N, N + 32);
iter_rm_mod(10);
iter_rm_mod_check(10);
check_n(N * 9 / 10);
--
2.17.1
- [Qemu-devel] [PULL 00/13] tcg-next patch queue, Richard Henderson, 2018/09/26
- [Qemu-devel] [PULL 01/13] qht: remove unused map param from qht_remove__locked, Richard Henderson, 2018/09/26
- [Qemu-devel] [PULL 02/13] qht: add qht_iter_remove, Richard Henderson, 2018/09/26
- [Qemu-devel] [PULL 03/13] test-qht: test qht_iter_remove, Richard Henderson, 2018/09/26
- [Qemu-devel] [PULL 04/13] test-qht: test removal of non-existent entries,
Richard Henderson <=
- [Qemu-devel] [PULL 12/13] qht-bench: add -p flag to precompute hash values, Richard Henderson, 2018/09/26
- [Qemu-devel] [PULL 07/13] qht: drop ht argument from qht iterators, Richard Henderson, 2018/09/26
- [Qemu-devel] [PULL 13/13] tcg/i386: fix vector operations on 32-bit hosts, Richard Henderson, 2018/09/26
- [Qemu-devel] [PULL 09/13] qht: constify qht_lookup, Richard Henderson, 2018/09/26
- [Qemu-devel] [PULL 06/13] test-qht: speed up + test qht_resize, Richard Henderson, 2018/09/26
- [Qemu-devel] [PULL 08/13] qht: fix comment in qht_bucket_remove_entry, Richard Henderson, 2018/09/26
- [Qemu-devel] [PULL 11/13] qht: constify arguments to some internal functions, Richard Henderson, 2018/09/26
- [Qemu-devel] [PULL 10/13] qht: constify qht_statistics_init, Richard Henderson, 2018/09/26
- [Qemu-devel] [PULL 05/13] test-qht: test deletion of the last entry in a bucket, Richard Henderson, 2018/09/26