@@ -60,7 +60,7 @@ TEST_F(TDBStoreModuleTest, set_get)
60
60
EXPECT_STREQ (" data" , buf);
61
61
}
62
62
63
- TEST_F (TDBStoreModuleTest, erased_get_set )
63
+ TEST_F (TDBStoreModuleTest, erased_set_get )
64
64
{
65
65
EXPECT_EQ (tdb.deinit (), MBED_SUCCESS);
66
66
EXPECT_EQ (flash.init (), MBED_SUCCESS);
@@ -102,11 +102,11 @@ TEST_F(TDBStoreModuleTest, corrupted_set_deinit_init_get)
102
102
for (int i = 0 ; i < 100 ; ++i) {
103
103
EXPECT_EQ (tdb.deinit (), MBED_SUCCESS);
104
104
// 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 ();
108
108
}
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);
110
110
}
111
111
EXPECT_EQ (tdb.init (), MBED_SUCCESS);
112
112
for (int j = 0 ; j < 100 ; ++j) {
@@ -124,3 +124,28 @@ TEST_F(TDBStoreModuleTest, corrupted_set_deinit_init_get)
124
124
EXPECT_EQ (heap.deinit (), MBED_SUCCESS);
125
125
delete[] block;
126
126
}
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