diff options
author | Ingo Huerner <ingo_huerner@mentor.com> | 2016-12-05 15:16:06 +0100 |
---|---|---|
committer | Ingo Huerner <ingo_huerner@mentor.com> | 2016-12-05 15:16:06 +0100 |
commit | 5462682f00f128991a8812018d4ff5ce482c02ab (patch) | |
tree | 04f1fc65541004ee374eb97d77bbf677477edd22 /test | |
parent | 4e39784a0de1f2f30e1afb3cde3776dbdc4e2cac (diff) | |
download | persistence-common-object-5462682f00f128991a8812018d4ff5ce482c02ab.tar.gz |
Added test case for previous fix
Diffstat (limited to 'test')
-rw-r--r-- | test/test_pco_key_value_store.c | 60 |
1 files changed, 60 insertions, 0 deletions
diff --git a/test/test_pco_key_value_store.c b/test/test_pco_key_value_store.c index 5182079..e0f6737 100644 --- a/test/test_pco_key_value_store.c +++ b/test/test_pco_key_value_store.c @@ -658,6 +658,66 @@ START_TEST(test_GetKeyListSizeLocalDB) { printf("persComDbClose() failed: [%d] \n", ret); } + handle = -1; + fail_unless(ret == 0, "Failed to close database file: retval: [%d]", ret); + + // + // open again + // + handle = persComDbOpen("/tmp/localdb-size-keylist.db", 0x1); //create db if not present + fail_unless(handle >= 0, "Failed to create non existent lDB for keylist test: retval: [%d]", ret); + + + //read list size again (must be 32) + listSize = persComDbGetSizeKeysList(handle); + //printf("LISTSIZE: %d \n", listSize); + fail_unless(listSize == 4 * strlen(key) + 4, "Wrong list size read from combined cache / file"); + + snprintf(key, 8, "%s", "key_123"); + ret = persComDbDeleteKey(handle, key); + fail_unless(ret >= 0, "Failed to delete key: %s - %d", key, ret); + + + //read list size again (must be 32) + listSize = persComDbGetSizeKeysList(handle); + //printf("LISTSIZE: %d \n", listSize); + fail_unless(listSize == 4 * strlen(key) + 4, "Wrong list size read from combined cache / file"); + + ret = persComDbClose(handle); + if (ret != 0) + { + printf("persComDbClose() failed: [%d] \n", ret); + } + handle = -1; + fail_unless(ret == 0, "Failed to close database file: retval: [%d]", ret); + + + // + // open again + // + handle = persComDbOpen("/tmp/localdb-size-keylist.db", 0x1); //create db if not present + fail_unless(handle >= 0, "Failed to create non existent lDB for keylist test: retval: [%d]", ret); + + //read list size again (must be 24) + listSize = persComDbGetSizeKeysList(handle); + //printf("LISTSIZE: %d \n", listSize); + fail_unless(listSize == 3 * strlen(key) + 3, "Wrong list size read from combined cache / file"); + + snprintf(key, 8, "%s", "key_123"); + ret = persComDbWriteKey(handle, key, (char*) sysTimeBuffer, strlen(sysTimeBuffer)); + fail_unless(ret == strlen(sysTimeBuffer), "Wrong write size"); + + //read list size again (must be 32) + listSize = persComDbGetSizeKeysList(handle); + //printf("LISTSIZE: %d \n", listSize); + fail_unless(listSize == 4 * strlen(key) + 4, "Wrong list size read from combined cache / file"); + + ret = persComDbClose(handle); + if (ret != 0) + { + printf("persComDbClose() failed: [%d] \n", ret); + } + handle = -1; fail_unless(ret == 0, "Failed to close database file: retval: [%d]", ret); #endif |