From cbdb97e438e9e45b4c0219e95a1d638d03faa8ae Mon Sep 17 00:00:00 2001 Message-Id: From: Peter Krempa Date: Tue, 4 Feb 2020 15:07:44 +0100 Subject: [PATCH] tests: hash: Test case for adding duplicate hash entry MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Test that adding a duplicate entry is rejected properly. This also allows to see the error message of the duplicate key addition in verbose mode. Signed-off-by: Peter Krempa Reviewed-by: Michal Privoznik (cherry picked from commit 7134f26b73162536b8bea2af860b32bad6a7f965) https://bugzilla.redhat.com/show_bug.cgi?id=1207659 Message-Id: <9bec2f7b4dc1be3ec963efa667c93ff225e9a0b6.1580824112.git.pkrempa@redhat.com> Reviewed-by: Ján Tomko --- tests/virhashtest.c | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/tests/virhashtest.c b/tests/virhashtest.c index 66fa3a428e..4d05cbb0f8 100644 --- a/tests/virhashtest.c +++ b/tests/virhashtest.c @@ -510,6 +510,28 @@ testHashEqual(const void *data G_GNUC_UNUSED) } +static int +testHashDuplicate(const void *data G_GNUC_UNUSED) +{ + g_autoptr(virHashTable) hash = NULL; + + if (!(hash = virHashCreate(0, NULL))) + return -1; + + if (virHashAddEntry(hash, "a", NULL) < 0) { + VIR_TEST_VERBOSE("\nfailed to add key 'a' to hash"); + return -1; + } + + if (virHashAddEntry(hash, "a", NULL) >= 0) { + VIR_TEST_VERBOSE("\nadding of key 'a' should have failed"); + return -1; + } + + return 0; +} + + static int mymain(void) { @@ -546,6 +568,7 @@ mymain(void) DO_TEST("Search", Search); DO_TEST("GetItems", GetItems); DO_TEST("Equal", Equal); + DO_TEST("Duplicate entry", Duplicate); return (ret == 0) ? EXIT_SUCCESS : EXIT_FAILURE; } -- 2.25.0