Skip to content

Commit 12dea71

Browse files
author
Seppo Takalo
committed
Greenteatests: Validate KVStore content when WRITE_ONCE flag is set.
1 parent 2ddd406 commit 12dea71

File tree

1 file changed

+20
-3
lines changed
  • features/storage/TESTS/kvstore/general_tests_phase_1

1 file changed

+20
-3
lines changed

features/storage/TESTS/kvstore/general_tests_phase_1/main.cpp

Lines changed: 20 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -289,29 +289,46 @@ static void set_several_keys_multithreaded()
289289
//set key "write once" and try to set it again
290290
static void set_write_once_flag_try_set_twice()
291291
{
292+
char buf[10];
293+
size_t len;
292294
TEST_SKIP_UNLESS(kvstore != NULL);
293295

294-
int res = kvstore->set(key, data, data_size, KVStore::WRITE_ONCE_FLAG);
296+
int res = kvstore->set(key, "ONCE", 5, KVStore::WRITE_ONCE_FLAG);
295297
TEST_ASSERT_EQUAL_ERROR_CODE(MBED_SUCCESS, res);
296298

297-
res = kvstore->set(key, data, data_size, KVStore::WRITE_ONCE_FLAG);
299+
res = kvstore->set(key, "TWICE", 6, KVStore::WRITE_ONCE_FLAG);
298300
TEST_ASSERT_EQUAL_ERROR_CODE(MBED_ERROR_WRITE_PROTECTED, res);
299301

302+
res = kvstore->get(key, buf, 10, &len);
303+
TEST_ASSERT_EQUAL_ERROR_CODE(MBED_SUCCESS, res);
304+
TEST_ASSERT_EQUAL(len, 5);
305+
TEST_ASSERT_EQUAL_STRING_LEN(buf, "ONCE", 5);
306+
300307
res = kvstore->reset();
301308
TEST_ASSERT_EQUAL_ERROR_CODE(MBED_SUCCESS, res);
302309
}
303310

304311
//set key "write once" and try to remove it
305312
static void set_write_once_flag_try_remove()
306313
{
314+
char buf[20];
315+
size_t len;
307316
TEST_SKIP_UNLESS(kvstore != NULL);
308317

309-
int res = kvstore->set(key, data, data_size, KVStore::WRITE_ONCE_FLAG);
318+
int res = kvstore->set(key, "TO_BE_REMOVED", 14, KVStore::WRITE_ONCE_FLAG);
319+
TEST_ASSERT_EQUAL_ERROR_CODE(MBED_SUCCESS, res);
320+
321+
res = kvstore->get(key, buf, 20, &len);
310322
TEST_ASSERT_EQUAL_ERROR_CODE(MBED_SUCCESS, res);
323+
TEST_ASSERT_EQUAL(len, 14);
324+
TEST_ASSERT_EQUAL_STRING_LEN(buf, "TO_BE_REMOVED", 14);
311325

312326
res = kvstore->remove(key);
313327
TEST_ASSERT_EQUAL_ERROR_CODE(MBED_ERROR_WRITE_PROTECTED, res);
314328

329+
res = kvstore->get(key, buf, 20, &len);
330+
TEST_ASSERT_EQUAL_ERROR_CODE(MBED_SUCCESS, res);
331+
315332
res = kvstore->reset();
316333
TEST_ASSERT_EQUAL_ERROR_CODE(MBED_SUCCESS, res);
317334
}

0 commit comments

Comments
 (0)