From c299d189d67f0f7c67ded024aa8140a30d59e505 Mon Sep 17 00:00:00 2001 From: Matthias Ringwald Date: Tue, 2 May 2023 18:22:49 +0200 Subject: [PATCH] test/tlv_test: add test for almost full bank --- test/flash_tlv/tlv_test.cpp | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/test/flash_tlv/tlv_test.cpp b/test/flash_tlv/tlv_test.cpp index 69b9e5803..7f176b0cd 100644 --- a/test/flash_tlv/tlv_test.cpp +++ b/test/flash_tlv/tlv_test.cpp @@ -267,6 +267,22 @@ TEST(BSTACK_TLV, TestFullBank){ CHECK_EQUAL(HAL_FLASH_BANK_MEMORY_BANK_SIZE, btstack_tlv_context.write_offset); } +TEST(BSTACK_TLV, TestAlmostFullBank){ + btstack_tlv_impl = btstack_tlv_flash_bank_init_instance(&btstack_tlv_context, hal_flash_bank_impl, &hal_flash_bank_context); + + // fill-up flash bank without the last byte + uint32_t tag = 'abcd'; + uint8_t blob[HAL_FLASH_BANK_MEMORY_BANK_SIZE - 8 - TAG_OVERHEAD - 1]; + btstack_tlv_impl->store_tag(&btstack_tlv_context, tag, (uint8_t *) &blob, sizeof(blob)); + CHECK_EQUAL(0, btstack_tlv_context.current_bank); + CHECK_EQUAL(HAL_FLASH_BANK_MEMORY_BANK_SIZE-1, btstack_tlv_context.write_offset); + + // check + btstack_tlv_impl = btstack_tlv_flash_bank_init_instance(&btstack_tlv_context, hal_flash_bank_impl, &hal_flash_bank_context); + CHECK_EQUAL(0, btstack_tlv_context.current_bank); + CHECK_EQUAL(HAL_FLASH_BANK_MEMORY_BANK_SIZE-1, btstack_tlv_context.write_offset); +} + TEST(BSTACK_TLV, TestFullBankPlusMigrate){ btstack_tlv_impl = btstack_tlv_flash_bank_init_instance(&btstack_tlv_context, hal_flash_bank_impl, &hal_flash_bank_context);