test: flash: use different mocking technique

tags/0.1.0
S.J.R. van Schaik 7 years ago
parent b4ecfb527c
commit f951d695e8
  1. 1
      Makefile
  2. 30
      source/core/flash.c
  3. 6
      source/tests/Makefile

@ -60,6 +60,7 @@ $(BUILD)/tbm: $(tbm-obj) $(LDSCRIPT)
@mkdir -p $(dir $@)
@$(LD) -o $@ $(CFLAGS) $(LDFLAGS) $(tbm-obj) $(LIBS)
$(BUILD)/test: CFLAGS += $(TEST_CFLAGS)
$(BUILD)/test: $(test-obj)
@echo "LD $@"
@mkdir -p $(dir $@)

@ -88,6 +88,11 @@ size_t flash_get_capacity(struct flash_dev *dev)
return dev->ops->get_capacity(dev);
}
#ifdef flash_read
#undef flash_read
#define flash_read __real_flash_read
#endif
size_t flash_read(struct flash_dev *dev, uint32_t addr, void *data, size_t len)
{
if (!dev)
@ -96,6 +101,16 @@ size_t flash_read(struct flash_dev *dev, uint32_t addr, void *data, size_t len)
return dev->ops->read(dev, addr, data, len);
}
#ifdef flash_read
#undef flash_read
#define flash_read __wrap_flash_read
#endif
#ifdef flash_write
#undef flash_write
#define flash_write __real_flash_write
#endif
size_t flash_write(struct flash_dev *dev, uint32_t addr, const void *data,
size_t len)
{
@ -105,6 +120,11 @@ size_t flash_write(struct flash_dev *dev, uint32_t addr, const void *data,
return dev->ops->write(dev, addr, data, len);
}
#ifdef flash_write
#undef flash_write
#define flash_write __wrap_flash_write
#endif
size_t flash_write0(struct flash_dev *dev, uint32_t addr, size_t len)
{
uint8_t data[32];
@ -134,6 +154,11 @@ size_t flash_copy(struct flash_dev *dev, uint32_t dst, uint32_t src, size_t len)
return dev->ops->copy(dev, dst, src, len);
}
#ifdef flash_is_erased
#undef flash_is_erased
#define flash_is_erased __real_flash_is_erased
#endif
int flash_is_erased(struct flash_dev *dev, uint32_t addr, size_t len)
{
if (!dev)
@ -149,6 +174,11 @@ int flash_is_erased(struct flash_dev *dev, uint32_t addr, size_t len)
return 1;
}
#ifdef flash_is_erased
#undef flash_is_erased
#define flash_is_erased __wrap_flash_is_erased
#endif
int flash_erase(struct flash_dev *dev, uint32_t addr, size_t len)
{
if (!dev)

@ -5,6 +5,6 @@ test-obj-y += source/tests/ftl/read_page_group.o
test-obj-y += source/tests/ftl/read_page_desc.o
test-obj-y += source/tests/ftl/write_page_desc.o
TEST_LDFLAGS += -Wl,--wrap=flash_read
TEST_LDFLAGS += -Wl,--wrap=flash_write
TEST_LDFLAGS += -Wl,--wrap=flash_is_erased
TEST_CFLAGS += -Dflash_read=__wrap_flash_read
TEST_CFLAGS += -Dflash_write=__wrap_flash_write
TEST_CFLAGS += -Dflash_is_erased=__wrap_flash_is_erased

Loading…
Cancel
Save