@@ -60,7 +60,7 @@ TEST_F(TDBStoreModuleTest, set_get)
6060 EXPECT_STREQ (" data" , buf);
6161}
6262
63- TEST_F (TDBStoreModuleTest, erased_get_set )
63+ TEST_F (TDBStoreModuleTest, erased_set_get )
6464{
6565 EXPECT_EQ (tdb.deinit (), MBED_SUCCESS);
6666 EXPECT_EQ (flash.init (), MBED_SUCCESS);
@@ -102,11 +102,11 @@ TEST_F(TDBStoreModuleTest, corrupted_set_deinit_init_get)
102102 for (int i = 0 ; i < 100 ; ++i) {
103103 EXPECT_EQ (tdb.deinit (), MBED_SUCCESS);
104104 // Corrupt the first part of the storage
105- for (int i = 0 ; i < heap.size ()/BLOCK_SIZE/2 ; i ++) {
106- for (int j = 0 ; j < BLOCK_SIZE; j ++) {
107- block[j ] = rand ();
105+ for (int j = 0 ; j < heap.size ()/BLOCK_SIZE/2 ; j ++) {
106+ for (int k = 0 ; k < BLOCK_SIZE; k ++) {
107+ block[k ] = rand ();
108108 }
109- EXPECT_EQ (heap.program (block, BLOCK_SIZE * i , BLOCK_SIZE), MBED_SUCCESS);
109+ EXPECT_EQ (heap.program (block, BLOCK_SIZE * j , BLOCK_SIZE), MBED_SUCCESS);
110110 }
111111 EXPECT_EQ (tdb.init (), MBED_SUCCESS);
112112 for (int j = 0 ; j < 100 ; ++j) {
@@ -124,3 +124,28 @@ TEST_F(TDBStoreModuleTest, corrupted_set_deinit_init_get)
124124 EXPECT_EQ (heap.deinit (), MBED_SUCCESS);
125125 delete[] block;
126126}
127+
128+ TEST_F (TDBStoreModuleTest, set_multiple_iterate)
129+ {
130+ char buf[100 ];
131+ KVStore::iterator_t iterator;
132+ EXPECT_EQ (tdb.set (" primary_key" , " data" , 5 , 0 ), MBED_SUCCESS);
133+ EXPECT_EQ (tdb.set (" primary_second_key" , " value" , 6 , 0 ), MBED_SUCCESS);
134+ EXPECT_EQ (tdb.iterator_open (&iterator, " primary" ), MBED_SUCCESS);
135+ EXPECT_EQ (tdb.iterator_next (iterator, buf, 100 ), MBED_SUCCESS);
136+ EXPECT_EQ (tdb.iterator_next (iterator, buf, 100 ), MBED_SUCCESS);
137+ EXPECT_EQ (tdb.iterator_next (iterator, buf, 100 ), MBED_ERROR_ITEM_NOT_FOUND);
138+ EXPECT_EQ (tdb.iterator_close (iterator), MBED_SUCCESS);
139+ }
140+
141+ TEST_F (TDBStoreModuleTest, reserved_data_set_get)
142+ {
143+ char reserved_key[] = " value" ;
144+ char buf[64 ];
145+ size_t size;
146+ EXPECT_EQ (tdb.reserved_data_set (reserved_key, 6 ), MBED_SUCCESS);
147+ EXPECT_EQ (tdb.reserved_data_get (buf, 64 , &size), MBED_SUCCESS);
148+ EXPECT_STREQ (" value" , buf);
149+ EXPECT_EQ (size, 6 );
150+ EXPECT_EQ (tdb.reserved_data_set (reserved_key, 6 ), MBED_ERROR_WRITE_FAILED);
151+ }
0 commit comments