Move the KeyDescriptor and SectorDescriptor lists to a templated derived
KeyValueStoreBuffer class. This allows multiple KVSs supporting
different numbers of keys and sectors to exist side-by-side.
Change-Id: I43d0647382e763008ae3b08580c736c1978793dd
- Update comments for FlashMemory class.
- Split InMemoryFakeFlash to move the fixed-size buffer into the
derived FakeFlashBuffer class.
- Support initializing FakeFlashBuffer to data provided at construction.
- Allow direct access to the underlying fake flash buffer for testing.
- Create utilities for working with byte arrays in byte_utils.h.
Change-Id: I90d33621cb91da079d7213fe7d33823494120e48
- Add the FlashPartition and address to the Entry class.
- Move functions for reading or writing the entry header, key, and value
to the Entry class.
Change-Id: I0af3c140a519c8b050fcef81eca4f3b45560f75c
When moving tombstone entries for deleted keys, RelocateEntry would
cause them to become present again.
Expand key_value_store_map_test.cc and add a test that covers this case
specifically.
Change-Id: I846cb155bffb25198377e04752cace971555d32b
Introduce a system for writing tests against flash memories with
different parameters. The tests use a std::unordered_map as an oracle,
and all operations are checked against it. Invalid inputs and the KVS
filling up are handled.
Disable most of the tests because they are currently failing.
Change-Id: Ib817e30a199c81b3146823252be91e0db016c9b3