mirror of https://github.com/ARMmbed/mbed-os.git
TDBStore whitebox test: flash simulation no longer required
parent
2d8a566718
commit
cfedf1b027
|
@ -23,7 +23,6 @@
|
||||||
#include "mbed_error.h"
|
#include "mbed_error.h"
|
||||||
#include "Timer.h"
|
#include "Timer.h"
|
||||||
#include "HeapBlockDevice.h"
|
#include "HeapBlockDevice.h"
|
||||||
#include "FlashSimBlockDevice.h"
|
|
||||||
#include "SlicingBlockDevice.h"
|
#include "SlicingBlockDevice.h"
|
||||||
#include "greentea-client/test_env.h"
|
#include "greentea-client/test_env.h"
|
||||||
#include "unity/unity.h"
|
#include "unity/unity.h"
|
||||||
|
@ -50,8 +49,7 @@ SlicingBlockDevice flash_bd(&bd, 0, 16 * 4096);
|
||||||
#include "SDBlockDevice.h"
|
#include "SDBlockDevice.h"
|
||||||
SDBlockDevice bd(MBED_CONF_SD_SPI_MOSI, MBED_CONF_SD_SPI_MISO,
|
SDBlockDevice bd(MBED_CONF_SD_SPI_MOSI, MBED_CONF_SD_SPI_MISO,
|
||||||
MBED_CONF_SD_SPI_CLK, MBED_CONF_SD_SPI_CS);
|
MBED_CONF_SD_SPI_CLK, MBED_CONF_SD_SPI_CS);
|
||||||
SlicingBlockDevice slice_bd(&bd, 0, 512 * 512);
|
SlicingBlockDevice flash_bd(&bd, 0, 512 * 512);
|
||||||
FlashSimBlockDevice flash_bd(&slice_bd);
|
|
||||||
|
|
||||||
#elif defined(TEST_FLASHIAP)
|
#elif defined(TEST_FLASHIAP)
|
||||||
#include "FlashIAPBlockDevice.h"
|
#include "FlashIAPBlockDevice.h"
|
||||||
|
@ -59,8 +57,7 @@ FlashIAPBlockDevice flash_bd(0xF0000, 0x10000);
|
||||||
|
|
||||||
#else
|
#else
|
||||||
#define USE_HEAP_BD 1
|
#define USE_HEAP_BD 1
|
||||||
HeapBlockDevice bd(8 * 4096, 1, 1, 4096);
|
HeapBlockDevice flash_bd(8 * 4096, 1, 1, 4096);
|
||||||
FlashSimBlockDevice flash_bd(&bd);
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
static const int heap_alloc_threshold_size = 4096;
|
static const int heap_alloc_threshold_size = 4096;
|
||||||
|
@ -129,19 +126,18 @@ static void white_box_test()
|
||||||
printf("\n\nBD #%d: size %d, read %d, prog %d, erase %d\n",
|
printf("\n\nBD #%d: size %d, read %d, prog %d, erase %d\n",
|
||||||
bd_num, bdp->size, bdp->read_size, bdp->prog_size, bdp->erase_size);
|
bd_num, bdp->size, bdp->read_size, bdp->prog_size, bdp->erase_size);
|
||||||
HeapBlockDevice heap_bd(bdp->size, bdp->read_size, bdp->prog_size, bdp->erase_size);
|
HeapBlockDevice heap_bd(bdp->size, bdp->read_size, bdp->prog_size, bdp->erase_size);
|
||||||
FlashSimBlockDevice flash_sim_bd(&heap_bd);
|
|
||||||
BlockDevice *test_bd;
|
BlockDevice *test_bd;
|
||||||
if (bd_num == num_bds - 1) {
|
if (bd_num == num_bds - 1) {
|
||||||
test_bd = &flash_bd;
|
test_bd = &flash_bd;
|
||||||
} else {
|
} else {
|
||||||
test_bd = &flash_sim_bd;
|
test_bd = &heap_bd;
|
||||||
// We need to skip the test if we don't have enough memory for the heap block device.
|
// We need to skip the test if we don't have enough memory for the heap block device.
|
||||||
// However, this device allocates the erase units on the fly, so "erase" it via the flash
|
// However, this device allocates the erase units on the fly, so "erase" it via the flash
|
||||||
// simulator. A failure here means we haven't got enough memory.
|
// simulator. A failure here means we haven't got enough memory.
|
||||||
flash_sim_bd.init();
|
heap_bd.init();
|
||||||
result = flash_sim_bd.erase(0, flash_sim_bd.size());
|
result = heap_bd.erase(0, heap_bd.size());
|
||||||
TEST_SKIP_UNLESS_MESSAGE(!result, "Not enough heap to run test");
|
TEST_SKIP_UNLESS_MESSAGE(!result, "Not enough heap to run test");
|
||||||
flash_sim_bd.deinit();
|
heap_bd.deinit();
|
||||||
}
|
}
|
||||||
|
|
||||||
delete[] dummy;
|
delete[] dummy;
|
||||||
|
|
Loading…
Reference in New Issue