Commit Graph

6 Commits

Author SHA1 Message Date
Wyatt Hepler
cdd6dfcfc6 pw_kvs: FlashMemory updates; test utilities
- 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
2020-02-19 19:10:32 +00:00
Wyatt Hepler
e541e075d4 pw_kvs: Move reading and writing to Entry class
- 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
2020-02-14 16:21:29 -08:00
Wyatt Hepler
d31d97070f pw_kvs: Rename format.h to entry.h
Change-Id: Iad7148cad736d57a9ff5d23772a002c40508b6d4
2020-02-14 18:08:50 +00:00
Wyatt Hepler
30a5215045 pw_kvs: Rename EntryHeader to Entry
- Rename EntryHeader to Entry, since it is more than just the
  EntryHeader.
- Introduce POD EntryHeader struct that represents the on-disk entry
  format.
- Remove unused set functions.

Change-Id: I407d615e559ad77824fbd6c6db66aa2c666c1c1e
2020-02-13 10:43:32 -08:00
Wyatt Hepler
0bde10a529 pw_kvs: Test cleanup
- Rename the KeyValueStoreTest fixture to a more descriptive name:
  EmptyInitializedKvs.
- Remove references to sector headers, which no longer exist.
- Enable the LargePartition test, which now passes.
- Remove the EntryHeader test, which is covered in entry_test.cc.
- Remove the Delete, BadCrc, and TestVersion2 tests, which are specific
  to old flash layouts and no longer apply.

Change-Id: I871c54ce82a4ca8fa5bba24d7cca4469d1324f60
2020-02-07 22:28:48 +00:00
Wyatt Hepler
97fc794536 pw_kvs: Introduce alignment to the entry header
- Add an 8-bit alignment field to the entry header. This makes the
  entry header a complete description of the entry's representation in
  flash (assuming the checksum algorithm is implied by the magic).
- Write basic tests for the EntryHeader class.

Change-Id: I7e48d5c16451ceb81f7c191d2f261e0a9bef14b7
2020-02-07 00:34:58 +00:00