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 <pkrempa@xxxxxxxxxx> --- 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.24.1