From fcba02a13f91aa57674e9220e511fc9b2cb9e098 Mon Sep 17 00:00:00 2001 From: Matthew Macovsky Date: Wed, 11 Sep 2019 20:48:04 +0100 Subject: [PATCH] Generalize KVStore phase 1/2 test BlockDevice sizes --- .../kvstore/general_tests_phase_1/main.cpp | 20 +++++++++++-------- .../kvstore/general_tests_phase_2/main.cpp | 20 +++++++++++-------- 2 files changed, 24 insertions(+), 16 deletions(-) diff --git a/features/storage/TESTS/kvstore/general_tests_phase_1/main.cpp b/features/storage/TESTS/kvstore/general_tests_phase_1/main.cpp index 14f1c900fc..afa5547a24 100644 --- a/features/storage/TESTS/kvstore/general_tests_phase_1/main.cpp +++ b/features/storage/TESTS/kvstore/general_tests_phase_1/main.cpp @@ -63,9 +63,6 @@ static const char *kv_prefix[] = {"TDB_", "FS_", "SEC_"}; static int kv_setup = TDBStoreSet; -static const size_t ul_bd_size = 16 * 4096; -static const size_t rbp_bd_size = 8 * 4096; - static const int heap_alloc_threshold_size = 4096; /*----------------initialization------------------*/ @@ -74,6 +71,8 @@ static const int heap_alloc_threshold_size = 4096; static void kvstore_init() { int res; + size_t erase_size, ul_bd_size, rbp_bd_size; + BlockDevice *sec_bd; res = bd->init(); TEST_ASSERT_EQUAL_ERROR_CODE(0, res); @@ -102,14 +101,19 @@ static void kvstore_init() #if SECURESTORE_ENABLED if (kv_setup == SecStoreSet) { + sec_bd = bd; if (erase_val == -1) { flash_bd = new FlashSimBlockDevice(bd); - ul_bd = new SlicingBlockDevice(flash_bd, 0, ul_bd_size); - rbp_bd = new SlicingBlockDevice(flash_bd, ul_bd_size, ul_bd_size + rbp_bd_size); - } else { - ul_bd = new SlicingBlockDevice(bd, 0, ul_bd_size); - rbp_bd = new SlicingBlockDevice(bd, ul_bd_size, ul_bd_size + rbp_bd_size); + sec_bd = flash_bd; } + + erase_size = sec_bd->get_erase_size(); + ul_bd_size = erase_size * 4; + rbp_bd_size = erase_size * 2; + + ul_bd = new SlicingBlockDevice(sec_bd, 0, ul_bd_size); + rbp_bd = new SlicingBlockDevice(sec_bd, ul_bd_size, ul_bd_size + rbp_bd_size); + TDBStore *ul_kv = new TDBStore(ul_bd); TDBStore *rbp_kv = new TDBStore(rbp_bd); kvstore = new SecureStore(ul_kv, rbp_kv); diff --git a/features/storage/TESTS/kvstore/general_tests_phase_2/main.cpp b/features/storage/TESTS/kvstore/general_tests_phase_2/main.cpp index 438f11ab6e..de91e5e417 100644 --- a/features/storage/TESTS/kvstore/general_tests_phase_2/main.cpp +++ b/features/storage/TESTS/kvstore/general_tests_phase_2/main.cpp @@ -63,9 +63,6 @@ static const char *kv_prefix[] = {"TDB_", "FS_", "SEC_"}; static int kv_setup = TDBStoreSet; -static const size_t ul_bd_size = 16 * 4096; -static const size_t rbp_bd_size = 8 * 4096; - static const int heap_alloc_threshold_size = 4096; /*----------------initialization------------------*/ @@ -74,6 +71,8 @@ static const int heap_alloc_threshold_size = 4096; static void kvstore_init() { int res; + size_t erase_size, ul_bd_size, rbp_bd_size; + BlockDevice *sec_bd; res = bd->init(); TEST_ASSERT_EQUAL_ERROR_CODE(0, res); @@ -102,14 +101,19 @@ static void kvstore_init() #if SECURESTORE_ENABLED if (kv_setup == SecStoreSet) { + sec_bd = bd; if (erase_val == -1) { flash_bd = new FlashSimBlockDevice(bd); - ul_bd = new SlicingBlockDevice(flash_bd, 0, ul_bd_size); - rbp_bd = new SlicingBlockDevice(flash_bd, ul_bd_size, ul_bd_size + rbp_bd_size); - } else { - ul_bd = new SlicingBlockDevice(bd, 0, ul_bd_size); - rbp_bd = new SlicingBlockDevice(bd, ul_bd_size, ul_bd_size + rbp_bd_size); + sec_bd = flash_bd; } + + erase_size = sec_bd->get_erase_size(); + ul_bd_size = erase_size * 4; + rbp_bd_size = erase_size * 2; + + ul_bd = new SlicingBlockDevice(sec_bd, 0, ul_bd_size); + rbp_bd = new SlicingBlockDevice(sec_bd, ul_bd_size, ul_bd_size + rbp_bd_size); + TDBStore *ul_kv = new TDBStore(ul_bd); TDBStore *rbp_kv = new TDBStore(rbp_bd); kvstore = new SecureStore(ul_kv, rbp_kv);