feat: add persist.h — WAL types, persist_config_t, slot_key_t (P0-B)

- Define wal_entry_hdr_t (40 bytes, _Static_assert enforced)
- Define wal_entry_type enum (WAL_JOB_SUBMIT=1 … WAL_CHECKPOINT=100)
- Define persist_config_t with persist_config_defaults() inline helper
- Define slot_key_t (index, key[XCE_MAXNAME_LEN], key_len)
- Forward-declare persist_t opaque struct and full persist_* API surface
- Bootstrap controller Unity test suite (controller_unit_test binary)
- Register test('controller test', …, suite: 'controller') in meson
- 4 new tests all PASS: wal_header_size, wal_entry_types,
  persist_config_defaults, slot_key_t_fields
This commit is contained in:
Rongsong Shen 2026-05-07 09:21:36 +00:00
parent 0107828a77
commit fe69dcbd7a
4 changed files with 282 additions and 0 deletions

View file

@ -61,3 +61,25 @@ xce_test = executable('xce_test',
dependencies: xce_test_deps,
install: true)
# Controller Unity test suite (persist types and future controller unit tests)
controller_unit_test_src = [
'testsuite/controller_test.c',
'testsuite/test_persist_types.c',
]
controller_unit_test_deps = [
libxce_dep,
unity_dep,
tinylog_dep,
]
controller_unit_test = executable('controller_unit_test',
controller_unit_test_src,
include_directories: [incdir],
dependencies: controller_unit_test_deps,
install: false)
test('controller test', controller_unit_test,
suite: 'controller',
timeout: 60)