diff --git a/UNITTESTS/moduletests/storage/kvstore/TDBStore/moduletest.cpp b/UNITTESTS/moduletests/storage/kvstore/TDBStore/moduletest.cpp index 4aad1cac8c..8bf36132ef 100644 --- a/UNITTESTS/moduletests/storage/kvstore/TDBStore/moduletest.cpp +++ b/UNITTESTS/moduletests/storage/kvstore/TDBStore/moduletest.cpp @@ -60,7 +60,7 @@ TEST_F(TDBStoreModuleTest, set_get) EXPECT_STREQ("data", buf); } -TEST_F(TDBStoreModuleTest, erased_get_set) +TEST_F(TDBStoreModuleTest, erased_set_get) { EXPECT_EQ(tdb.deinit(), MBED_SUCCESS); EXPECT_EQ(flash.init(), MBED_SUCCESS); @@ -102,11 +102,11 @@ TEST_F(TDBStoreModuleTest, corrupted_set_deinit_init_get) for (int i = 0; i < 100; ++i) { EXPECT_EQ(tdb.deinit(), MBED_SUCCESS); // Corrupt the first part of the storage - for (int i = 0; i < heap.size()/BLOCK_SIZE/2; i++) { - for (int j = 0; j < BLOCK_SIZE; j++) { - block[j] = rand(); + for (int j = 0; j < heap.size()/BLOCK_SIZE/2; j++) { + for (int k = 0; k < BLOCK_SIZE; k++) { + block[k] = rand(); } - EXPECT_EQ(heap.program(block, BLOCK_SIZE * i, BLOCK_SIZE), MBED_SUCCESS); + EXPECT_EQ(heap.program(block, BLOCK_SIZE * j, BLOCK_SIZE), MBED_SUCCESS); } EXPECT_EQ(tdb.init(), MBED_SUCCESS); for (int j = 0; j < 100; ++j) { @@ -124,3 +124,28 @@ TEST_F(TDBStoreModuleTest, corrupted_set_deinit_init_get) EXPECT_EQ(heap.deinit(), MBED_SUCCESS); delete[] block; } + +TEST_F(TDBStoreModuleTest, set_multiple_iterate) +{ + char buf[100]; + KVStore::iterator_t iterator; + EXPECT_EQ(tdb.set("primary_key", "data", 5, 0), MBED_SUCCESS); + EXPECT_EQ(tdb.set("primary_second_key", "value", 6, 0), MBED_SUCCESS); + EXPECT_EQ(tdb.iterator_open(&iterator, "primary"), MBED_SUCCESS); + EXPECT_EQ(tdb.iterator_next(iterator, buf, 100), MBED_SUCCESS); + EXPECT_EQ(tdb.iterator_next(iterator, buf, 100), MBED_SUCCESS); + EXPECT_EQ(tdb.iterator_next(iterator, buf, 100), MBED_ERROR_ITEM_NOT_FOUND); + EXPECT_EQ(tdb.iterator_close(iterator), MBED_SUCCESS); +} + +TEST_F(TDBStoreModuleTest, reserved_data_set_get) +{ + char reserved_key[] = "value"; + char buf[64]; + size_t size; + EXPECT_EQ(tdb.reserved_data_set(reserved_key, 6), MBED_SUCCESS); + EXPECT_EQ(tdb.reserved_data_get(buf, 64, &size), MBED_SUCCESS); + EXPECT_STREQ("value", buf); + EXPECT_EQ(size, 6); + EXPECT_EQ(tdb.reserved_data_set(reserved_key, 6), MBED_ERROR_WRITE_FAILED); +}