test: ftl: mock read_page_desc()
This commit is contained in:
parent
1153f2bdcd
commit
b8426f12f2
4 changed files with 30 additions and 8 deletions
|
@ -97,6 +97,11 @@ int read_page_group(struct ftl_map *map,
|
|||
* with the user page by locating the footer and more specifically the page
|
||||
* descriptor within the page group.
|
||||
*/
|
||||
#ifdef read_page_desc
|
||||
#undef read_page_desc
|
||||
#define read_page_desc __real_read_page_desc
|
||||
#endif
|
||||
|
||||
int read_page_desc(struct ftl_map *map,
|
||||
struct ftl_page_desc *page_desc, uint32_t upage)
|
||||
{
|
||||
|
@ -121,6 +126,11 @@ int read_page_desc(struct ftl_map *map,
|
|||
return 0;
|
||||
}
|
||||
|
||||
#ifdef read_page_desc
|
||||
#undef read_page_desc
|
||||
#define read_page_desc __wrap_read_page_desc
|
||||
#endif
|
||||
|
||||
/* Writes the page descriptor to the footer of the current page group and
|
||||
* increments the head to point to the next free user page.
|
||||
*/
|
||||
|
|
|
@ -17,4 +17,5 @@ TEST_CFLAGS += -Dflash_is_erased=__wrap_flash_is_erased
|
|||
TEST_CFLAGS += -Dis_group_erased=__wrap_is_group_erased
|
||||
TEST_CFLAGS += -Dfind_block=__wrap_find_block
|
||||
TEST_CFLAGS += -Dprepare_head=__wrap_prepare_head
|
||||
TEST_CFLAGS += -Dread_page_desc=__wrap_read_page_desc
|
||||
TEST_CFLAGS += -Dwrite_page_desc=__wrap_write_page_desc
|
||||
|
|
|
@ -42,6 +42,17 @@ int __wrap_prepare_head(struct ftl_map *map)
|
|||
return mock_type(int);
|
||||
}
|
||||
|
||||
int __wrap_read_page_desc(struct ftl_map *map,
|
||||
struct ftl_page_desc *page_desc, uint32_t upage)
|
||||
{
|
||||
check_expected_ptr(map);
|
||||
check_expected(upage);
|
||||
|
||||
memcpy(page_desc, mock_type(struct ftl_page_desc *), sizeof *page_desc);
|
||||
|
||||
return mock_type(int);
|
||||
}
|
||||
|
||||
int __wrap_write_page_desc(struct ftl_map *map,
|
||||
struct ftl_page_desc *page_desc)
|
||||
{
|
||||
|
|
|
@ -11,7 +11,7 @@
|
|||
#include <ftl.h>
|
||||
#include <macros.h>
|
||||
|
||||
int read_page_desc(struct ftl_map *map,
|
||||
int __real_read_page_desc(struct ftl_map *map,
|
||||
struct ftl_page_desc *page_desc, uint32_t upage);
|
||||
|
||||
static void test_upage0(void **state)
|
||||
|
@ -33,7 +33,7 @@ static void test_upage0(void **state)
|
|||
map.log2_pages_per_group = ilog2(16);
|
||||
map.log2_page_size = ilog2(4 * KIB);
|
||||
|
||||
ret = read_page_desc(&map, &ret_page_desc, 0);
|
||||
ret = __real_read_page_desc(&map, &ret_page_desc, 0);
|
||||
|
||||
assert_int_equal(ret, 0);
|
||||
}
|
||||
|
@ -57,7 +57,7 @@ static void test_upage14(void **state)
|
|||
map.log2_pages_per_group = ilog2(16);
|
||||
map.log2_page_size = ilog2(4 * KIB);
|
||||
|
||||
ret = read_page_desc(&map, &ret_page_desc, 14);
|
||||
ret = __real_read_page_desc(&map, &ret_page_desc, 14);
|
||||
|
||||
assert_int_equal(ret, 0);
|
||||
}
|
||||
|
@ -73,7 +73,7 @@ static void test_upage15(void **state)
|
|||
map.log2_pages_per_group = ilog2(16);
|
||||
map.log2_page_size = ilog2(4 * KIB);
|
||||
|
||||
ret = read_page_desc(&map, &ret_page_desc, 15);
|
||||
ret = __real_read_page_desc(&map, &ret_page_desc, 15);
|
||||
|
||||
assert_int_equal(ret, -1);
|
||||
}
|
||||
|
@ -97,7 +97,7 @@ static void test_upage16(void **state)
|
|||
map.log2_pages_per_group = ilog2(16);
|
||||
map.log2_page_size = ilog2(4 * KIB);
|
||||
|
||||
ret = read_page_desc(&map, &ret_page_desc, 16);
|
||||
ret = __real_read_page_desc(&map, &ret_page_desc, 16);
|
||||
|
||||
assert_int_equal(ret, 0);
|
||||
}
|
||||
|
@ -121,7 +121,7 @@ static void test_upage30(void **state)
|
|||
map.log2_pages_per_group = ilog2(16);
|
||||
map.log2_page_size = ilog2(4 * KIB);
|
||||
|
||||
ret = read_page_desc(&map, &ret_page_desc, 30);
|
||||
ret = __real_read_page_desc(&map, &ret_page_desc, 30);
|
||||
|
||||
assert_int_equal(ret, 0);
|
||||
}
|
||||
|
@ -137,7 +137,7 @@ static void test_upage31(void **state)
|
|||
map.log2_pages_per_group = ilog2(16);
|
||||
map.log2_page_size = ilog2(4 * KIB);
|
||||
|
||||
ret = read_page_desc(&map, &ret_page_desc, 31);
|
||||
ret = __real_read_page_desc(&map, &ret_page_desc, 31);
|
||||
|
||||
assert_int_equal(ret, -1);
|
||||
}
|
||||
|
@ -161,7 +161,7 @@ static void test_upage32(void **state)
|
|||
map.log2_pages_per_group = ilog2(16);
|
||||
map.log2_page_size = ilog2(4 * KIB);
|
||||
|
||||
ret = read_page_desc(&map, &ret_page_desc, 32);
|
||||
ret = __real_read_page_desc(&map, &ret_page_desc, 32);
|
||||
|
||||
assert_int_equal(ret, 0);
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue