forked from lei.chen/myxce
test: P0-G end-to-end smoke tests — WAL, checkpoint, hooks, GC, Cap'n Proto (P0-15a-e)
Add 5 E2E integration test files that cross sub-phase boundaries: - test_e2e_wal.c (P0-15a): WAL write+read-back (entry count), torn-write recovery via ftruncate + persist_recover(), chained-CRC corruption stops replay at last valid entry. - test_e2e_checkpoint.c (P0-15b): 20-entry WAL + checkpoint + 10 post- checkpoint entries + recover asserts current_lsn >= 30 and checkpoint_lsn > 0; WAL trim after two checkpoints; snap_keep_n rotation with 4 rounds. - test_e2e_hooks.c (P0-15c): persist_job_hook_fun(HOOK_DETAIL_JOB_NEW) writes WAL_JOB_SUBMIT entry; persist_worker_hook_fun(HOOK_DETAIL_WORKER_JOIN) writes WAL_WORKER_CTRL; 3-call sequence preserves monotone LSN order and verifies header LSN fields on disk. - test_e2e_gc.c (P0-15d): running job retained; expired finished job not retained; JOB_STAT_TRANSIENT times out; expired unavailable worker not retained; checkpoint-after-WAL integration smoke. - test_e2e_capnp.c (P0-15e): persist_config_t → capnp_persist_cfg_t 8-field round-trip; capnp_snap_hdr_t field values and struct size (48 bytes); capnp_repl_envelope_t fields including WAL_CRC_NONE sentinel. Total: 89 tests, 0 failures (was 72 before this commit).
This commit is contained in:
parent
b52fbef36d
commit
a7094fc47f
7 changed files with 1002 additions and 0 deletions
|
|
@ -14,6 +14,11 @@ extern void test_hooks(void);
|
|||
extern void test_persist_hooks(void);
|
||||
extern void test_gc_retention(void);
|
||||
extern void test_cluster_persist(void);
|
||||
extern void test_e2e_wal(void);
|
||||
extern void test_e2e_checkpoint(void);
|
||||
extern void test_e2e_hooks(void);
|
||||
extern void test_e2e_gc(void);
|
||||
extern void test_e2e_capnp(void);
|
||||
|
||||
void setUp(void) { return; }
|
||||
|
||||
|
|
@ -97,6 +102,11 @@ int main(int argc, char* argv[])
|
|||
TEST(test_persist_hooks);
|
||||
TEST(test_gc_retention);
|
||||
TEST(test_cluster_persist);
|
||||
TEST(test_e2e_wal);
|
||||
TEST(test_e2e_checkpoint);
|
||||
TEST(test_e2e_hooks);
|
||||
TEST(test_e2e_gc);
|
||||
TEST(test_e2e_capnp);
|
||||
|
||||
return UNITY_END();
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue