|
28 | 28 | #include "unity/unity.h"
|
29 | 29 | #include "utest/utest.h"
|
30 | 30 | #include "FileSystemStore.h"
|
| 31 | +#include "features/storage/internal/utils.h" |
31 | 32 |
|
32 | 33 | using namespace utest::v1;
|
33 | 34 | using namespace mbed;
|
@@ -74,7 +75,7 @@ static const int heap_alloc_threshold_size = 4096;
|
74 | 75 | static void kvstore_init()
|
75 | 76 | {
|
76 | 77 | int res;
|
77 |
| - size_t erase_size, ul_bd_size, rbp_bd_size; |
| 78 | + size_t program_size, erase_size, ul_bd_size, rbp_bd_size; |
78 | 79 | BlockDevice *sec_bd;
|
79 | 80 |
|
80 | 81 | res = bd->init();
|
@@ -109,10 +110,17 @@ static void kvstore_init()
|
109 | 110 | flash_bd = new FlashSimBlockDevice(bd);
|
110 | 111 | sec_bd = flash_bd;
|
111 | 112 | }
|
| 113 | + res = sec_bd->init(); |
| 114 | + TEST_ASSERT_EQUAL_ERROR_CODE(MBED_SUCCESS, res); |
| 115 | + |
| 116 | + program_size = sec_bd->get_program_size(); |
| 117 | + erase_size = sec_bd->get_erase_size(); |
| 118 | + // We must be able to hold at least 10 small keys (20 program sectors) and master record + internal data |
| 119 | + ul_bd_size = align_up(program_size * 40, erase_size); |
| 120 | + rbp_bd_size = align_up(program_size * 40, erase_size); |
112 | 121 |
|
113 |
| - erase_size = sec_bd->get_erase_size(); |
114 |
| - ul_bd_size = erase_size * 4; |
115 |
| - rbp_bd_size = erase_size * 2; |
| 122 | + res = sec_bd->deinit(); |
| 123 | + TEST_ASSERT_EQUAL_ERROR_CODE(MBED_SUCCESS, res); |
116 | 124 |
|
117 | 125 | ul_bd = new SlicingBlockDevice(sec_bd, 0, ul_bd_size);
|
118 | 126 | rbp_bd = new SlicingBlockDevice(sec_bd, ul_bd_size, ul_bd_size + rbp_bd_size);
|
@@ -424,14 +432,14 @@ static void set_several_key_value_sizes()
|
424 | 432 |
|
425 | 433 | name[6] = 0;
|
426 | 434 |
|
427 |
| - for (i = 0; i < 26; i++) { |
| 435 | + for (i = 0; i < 5; i++) { |
428 | 436 | c = i + 'a';
|
429 | 437 | name[5] = c;
|
430 | 438 | res = kvstore->set(name, name, sizeof(name), 0);
|
431 | 439 | TEST_ASSERT_EQUAL_ERROR_CODE(MBED_SUCCESS, res);
|
432 | 440 | }
|
433 | 441 |
|
434 |
| - for (i = 0; i < 26; i++) { |
| 442 | + for (i = 0; i < 5; i++) { |
435 | 443 | c = i + 'a';
|
436 | 444 | name[5] = c;
|
437 | 445 | res = kvstore->get(name, buffer, sizeof(buffer), &actual_size, 0);
|
|
0 commit comments