mirror of https://github.com/ARMmbed/mbed-os.git
Merge pull request #12636 from jarlamsa/tdbstore_unittests
Extend unit tests for TDBStorepull/12643/head^2
commit
272cb794f8
|
@ -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);
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue