[PATCH 2/4] testsuite: add test for growing then shrinking a hash

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



---
 testsuite/test-hash.c | 33 +++++++++++++++++++++++++++++++++
 1 file changed, 33 insertions(+)

diff --git a/testsuite/test-hash.c b/testsuite/test-hash.c
index ea39b80..2e65f86 100644
--- a/testsuite/test-hash.c
+++ b/testsuite/test-hash.c
@@ -246,4 +246,37 @@ static int test_hash_add_unique(const struct test *t)
 DEFINE_TEST(test_hash_add_unique,
 		.description = "test hash_add_unique with different key orders")
 
+
+static int test_hash_massive_add_del(const struct test *t)
+{
+	char buf[1024 * 8];
+	char *k;
+	struct hash *h;
+	unsigned int i, N = 1024;
+
+	h = hash_new(8, NULL);
+
+	k = &buf[0];
+	for (i = 0; i < N; i++) {
+		snprintf(k, 8, "k%d", i);
+		hash_add(h, k, k);
+		k += 8;
+	}
+
+	assert_return(hash_get_count(h) == N, EXIT_FAILURE);
+
+	k = &buf[0];
+	for (i = 0; i < N; i++) {
+		hash_del(h, k);
+		k += 8;
+	}
+
+	assert_return(hash_get_count(h) == 0, EXIT_FAILURE);
+
+	hash_free(h);
+	return 0;
+}
+DEFINE_TEST(test_hash_massive_add_del,
+		.description = "test multiple adds followed by multiple dels")
+
 TESTSUITE_MAIN();
-- 
2.2.2

--
To unsubscribe from this list: send the line "unsubscribe linux-modules" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Big List of Linux Books]

  Powered by Linux