myxce/src/lib/testsuite
Rongsong Shen eaf1801d6d feat: implement kvmgr_capture_keys for lock-free checkpoint serialization (P0-14a)
Add kvtab_foreach walk primitive (P0-14) to kv.c/kv.h, then implement
kvmgr_capture_keys in kvmgr.c that deep-copies all key→index mappings
into a malloc'd slot_key_t[] array safe to read after the write lock is
released during checkpoint serialization (Part 3.8).

Key design points:
- Both kvtab_foreach and kvmgr_capture_keys take var (RTTI data pointer)
  and use RTTI_DATA_TO_OBJ internally — the RTTI framework's makeInstance
  returns the data region pointer, not the meta_obj_t header pointer
- String keys are copied via strncpy into slot_key_t.key[XCE_MAXNAME_LEN]
- Integer keys are formatted as decimal strings via snprintf
- Two-pass approach: count live entries first, allocate, then fill
- Tests cover string kvmgr (3 entries), empty kvmgr, and deep-copy safety
2026-05-07 11:07:41 +00:00
..
test.c feat: implement kvmgr_capture_keys for lock-free checkpoint serialization (P0-14a) 2026-05-07 11:07:41 +00:00
test_bitset.c - introduce bitset 2026-02-13 11:01:33 +08:00
test_config.c feat: add persistence/HA system constants to config.h with tests (P0-A) 2026-05-07 08:41:19 +00:00
test_delay.c feat: rename delaymgr precision→precision_ms, replace sleep() with nanosleep() (P0-2b) 2026-05-07 09:08:03 +00:00
test_error.c update controller code 2025-11-05 16:58:57 +08:00
test_group.c save works 2026-02-28 17:55:50 +08:00
test_htab.c update controller code 2025-11-05 16:58:57 +08:00
test_htab_int.c update controller code 2025-11-05 16:58:57 +08:00
test_idgen.c jobid format and parse 2025-11-19 14:44:49 +08:00
test_jobj.c save works 2026-03-06 18:20:30 +08:00
test_kv.c use librtti for worker/queue/resource 2026-02-25 16:56:50 +08:00
test_kvmgr.c save works 2026-03-04 18:18:53 +08:00
test_kvmgr_capture.c feat: implement kvmgr_capture_keys for lock-free checkpoint serialization (P0-14a) 2026-05-07 11:07:41 +00:00
test_limit.c save works 2026-02-28 17:55:50 +08:00
test_ordq.c pass pend reason back to controller 2025-12-23 15:29:26 +08:00
test_preason.c support limit 2026-01-12 15:27:54 +08:00
test_qobj.c save works 2026-03-06 18:20:30 +08:00
test_request.c feat: P0-2a C-side plumbing for host control 2026-04-17 07:46:41 +00:00
test_resmgr_fixture.c feat: implement Phase 4d const-fold transform for select AST 2026-04-29 08:24:04 +00:00
test_resmgr_fixture.h feat: implement Phase 4d const-fold transform for select AST 2026-04-29 08:24:04 +00:00
test_resreq.c docs: mark Phase 6 complete in phase6-scheduler-integration-plan 2026-04-30 07:17:32 +00:00
test_select.c fix front end issues 2026-05-01 21:22:45 +08:00
test_utils.c use clang-format to format code 2025-11-25 14:58:09 +08:00
test_wobj.c save works 2026-03-06 18:20:30 +08:00
test_xlist.c support limit 2026-01-12 15:27:54 +08:00
test_xstring.c docs: mark Phase 6 complete in phase6-scheduler-integration-plan 2026-04-30 07:17:32 +00:00
test_xvec.c using xvec related api in scheduler 2026-01-16 18:21:37 +08:00
test_zarray.c use librtti for worker/queue/resource 2026-02-25 16:56:50 +08:00
test_zarray_cow.c feat: implement xzarray COW freeze/thaw with pre-grown shadow array (P0-2) 2026-05-07 09:46:28 +00:00