From 1f99703806c24581652d328c54004760ea691d51 Mon Sep 17 00:00:00 2001 From: Seppo Takalo Date: Mon, 9 Dec 2019 11:18:29 +0200 Subject: [PATCH] Fix TDBStore sizes for tests Tests must require at least 2 erase sectors per TDBStore, so that the garbage collection may work. --- .../storage/TESTS/kvstore/general_tests_phase_1/main.cpp | 7 +++++-- .../storage/TESTS/kvstore/general_tests_phase_2/main.cpp | 5 +++-- 2 files changed, 8 insertions(+), 4 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 354aebbfc0..3fc9e08bf7 100644 --- a/features/storage/TESTS/kvstore/general_tests_phase_1/main.cpp +++ b/features/storage/TESTS/kvstore/general_tests_phase_1/main.cpp @@ -120,8 +120,11 @@ static void kvstore_init() program_size = sec_bd->get_program_size(); erase_size = sec_bd->get_erase_size(); // We must be able to hold at least 10 small keys (20 program sectors) and master record + internal data - ul_bd_size = align_up(program_size * 40, erase_size); - rbp_bd_size = align_up(program_size * 40, erase_size); + // but minimum of 2 erase sectors, so that the garbage collection way work + ul_bd_size = align_up(program_size * 40, erase_size * 2); + rbp_bd_size = align_up(program_size * 40, erase_size * 2); + + TEST_ASSERT((ul_bd_size + rbp_bd_size) < sec_bd->size()); res = sec_bd->deinit(); TEST_ASSERT_EQUAL_ERROR_CODE(MBED_SUCCESS, res); 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 f93a4ac58e..71b01a6838 100644 --- a/features/storage/TESTS/kvstore/general_tests_phase_2/main.cpp +++ b/features/storage/TESTS/kvstore/general_tests_phase_2/main.cpp @@ -120,8 +120,9 @@ static void kvstore_init() program_size = sec_bd->get_program_size(); erase_size = sec_bd->get_erase_size(); // We must be able to hold at least 10 small keys (20 program sectors) and master record + internal data - ul_bd_size = align_up(program_size * 40, erase_size); - rbp_bd_size = align_up(program_size * 40, erase_size); + // but minimum of 2 erase sectors, so that the garbage collection way work + ul_bd_size = align_up(program_size * 40, erase_size * 2); + rbp_bd_size = align_up(program_size * 40, erase_size * 2); res = sec_bd->deinit(); TEST_ASSERT_EQUAL_ERROR_CODE(MBED_SUCCESS, res);