tests/subsys/dfu/img_util: progressively erase testcase
Extended test by testcase for testing progressively erase feature. native posix flash page size was set to 1 kB in order to by aligned with native_posix partitions boundaries. Signed-off-by: Andrzej Puzdrowski <andrzej.puzdrowski@nordicsemi.no>
This commit is contained in:
parent
3a95dda66c
commit
beb229b803
3 changed files with 41 additions and 3 deletions
2
tests/subsys/dfu/img_util/progressively_overlay.conf
Normal file
2
tests/subsys/dfu/img_util/progressively_overlay.conf
Normal file
|
@ -0,0 +1,2 @@
|
|||
CONFIG_IMG_ERASE_PROGRESSIVELY=y
|
||||
CONFIG_FLASH_SIMULATOR_DOUBLE_WRITES=y
|
|
@ -19,8 +19,31 @@ void test_collecting(void)
|
|||
ret = flash_img_init(&ctx);
|
||||
zassert_true(ret == 0, "Flash img init");
|
||||
|
||||
#ifdef CONFIG_IMG_ERASE_PROGRESSIVELY
|
||||
u8_t erase_buf[8];
|
||||
(void)memset(erase_buf, 0xff, sizeof(erase_buf));
|
||||
|
||||
ret = flash_area_open(DT_FLASH_AREA_IMAGE_1_ID, &fa);
|
||||
if (ret) {
|
||||
printf("Flash driver was not found!\n");
|
||||
return;
|
||||
}
|
||||
|
||||
/* ensure image payload area dirt */
|
||||
for (i = 0U; i < 300 * sizeof(data) / sizeof(erase_buf); i++) {
|
||||
ret = flash_area_write(fa, i * sizeof(erase_buf), erase_buf,
|
||||
sizeof(erase_buf));
|
||||
zassert_true(ret == 0, "Flash write failure (%d)", ret);
|
||||
}
|
||||
|
||||
/* ensure that the last page dirt */
|
||||
ret = flash_area_write(fa, fa->fa_size - sizeof(erase_buf), erase_buf,
|
||||
sizeof(erase_buf));
|
||||
zassert_true(ret == 0, "Flash write failure (%d)", ret);
|
||||
#else
|
||||
ret = flash_area_erase(ctx.flash_area, 0, ctx.flash_area->fa_size);
|
||||
zassert_true(ret == 0, "Flash erase");
|
||||
zassert_true(ret == 0, "Flash erase failure (%d)", ret);
|
||||
#endif
|
||||
|
||||
zassert(flash_img_bytes_written(&ctx) == 0, "pass", "fail");
|
||||
|
||||
|
@ -29,8 +52,8 @@ void test_collecting(void)
|
|||
for (j = 0U; j < ARRAY_SIZE(data); j++) {
|
||||
data[j] = k++;
|
||||
}
|
||||
zassert(flash_img_buffered_write(&ctx, data, sizeof(data),
|
||||
false) == 0, "pass", "fail");
|
||||
ret = flash_img_buffered_write(&ctx, data, sizeof(data), false);
|
||||
zassert_true(ret == 0, "image colletion fail: %d\n", ret);
|
||||
}
|
||||
|
||||
zassert(flash_img_buffered_write(&ctx, data, 0, true) == 0, "pass",
|
||||
|
@ -49,6 +72,15 @@ void test_collecting(void)
|
|||
zassert(temp == k, "pass", "fail");
|
||||
k++;
|
||||
}
|
||||
|
||||
#ifdef CONFIG_IMG_ERASE_PROGRESSIVELY
|
||||
u8_t buf[sizeof(erase_buf)];
|
||||
|
||||
ret = flash_area_read(fa, fa->fa_size - sizeof(buf), buf, sizeof(buf));
|
||||
zassert_true(ret == 0, "Flash read failure (%d)", ret);
|
||||
zassert_true(memcmp(erase_buf, buf, sizeof(buf)) == 0,
|
||||
"Image trailer was not cleared");
|
||||
#endif
|
||||
}
|
||||
|
||||
void test_main(void)
|
||||
|
|
|
@ -2,3 +2,7 @@ tests:
|
|||
dfu.image_util:
|
||||
platform_whitelist: nrf52840_pca10056 native_posix native_posix_64
|
||||
tags: dfu_image_util
|
||||
dfu.image_util.progressive:
|
||||
extra_args: OVERLAY_CONFIG=progressively_overlay.conf
|
||||
platform_whitelist: nrf52840_pca10056 native_posix native_posix_64
|
||||
tags: dfu_image_util
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue