myxce/src/lib/testsuite
Rongsong Shen e53c086ec5 fix(schema): rename struct Data -> XceData to unshadow capnp builtin blob type
controller.capnp declared `struct Data $C.mapname("xce_data_t")` (an
OPCode_get query-result tagged union) at file scope, which shadows
Cap'n Proto's builtin Data blob type for every later `: Data` field in
the same file. This silently miscompiled 7 fields across 6 structs as
a struct-pointer type instead of a raw byte blob: UpgradeConfigRequest
.sha256/.bytes, ReplConfigReply.sha256/.bytes, ReplConfigPushRequest
.sha256/.bytes, ReplEnvelope.payload, SnapshotTransfer's chunk
payload, WalCatchupEntry.payload/.batchPayloads, and CtrlHelloRequest
.key. Production C code had already routed around it for years via
hand-rolled raw capn_ptr manipulation (see request.c's own comments);
nothing before now needed the generated codec/accessors to actually
work for these fields.

Renamed the local struct to XceData (capnp-level name only; the
$C.mapname("xce_data_t") C typedef is unchanged) and explicitly
repointed getdata/pushmsg at XceData by name, since those two fields
correctly want the local tagged union. Updated every derived
generated-identifier reference across 19 hand-written files spanning
controller, lib, scheduler, and the Go apiserver/xcecli CGo bindings.
Fixed 5 call sites in lib/request.c that had been typed against the
old workaround alias but now legitimately receive the correct
capn_data type (a pure type-name swap -- Data_ptr/XceData_ptr and
capn_data share the identical {capn_ptr p} layout).

Verified via full rebuild+test: lib (1/1), controller (3/3, incl. the
job-array push regression tests), scheduler (15/15), Go apiserver +
xcecli (all packages green), and a direct pycapnp round-trip proving
UpgradeConfigRequest.sha256/.bytes now encode/decode correctly.

Bug: bug-1461 (.wolf/buglog.json). Unblocks admin-config-tool task 3.3.
2026-07-22 09:22:04 +00:00
..
failover_harness.h feat(libxce-failover): reusable failover test harness — fake masters, status taxonomy, concurrency runner (task 1.2) 2026-06-17 02:32:19 +00:00
test.c fix(netio): bug-1447 same-batch endpoint use-after-free in io_worker dispatch 2026-07-18 13:28:04 +00:00
test_bitset.c - introduce bitset 2026-02-13 11:01:33 +08:00
test_cluster.c fix(scheduler,cli): bug-1453/1454/1455/1456 remove dead CA-cert plumbing, fix scheduler HA config bugs 2026-07-20 12:01:10 +00:00
test_cluster_parse.c feat: P2.5-5/6 add --peers/--ca-cert parsing to worker+scheduler with validation 2026-05-08 02:32:56 +00:00
test_config.c fix(test): sync test_config DEFAULT_SYNC_TIMEOUT_MS assertion to 500 2026-06-21 15:18:39 +00:00
test_ctrlstatus.c fix: close bug-1401 ctrlstatus leak, bug-1400 jobsub leak; harden bug-1396 harness 2026-07-03 02:40:52 +00:00
test_delay.c feat(election-iomgr-refactor): add delay_task_ms() for ms-granularity one-shot tasks 2026-05-30 07:15:54 +00:00
test_error.c fix(libxce): xce_strerror_r global-buffer-overflow on HA error codes (utils.c) 2026-06-20 10:13:21 +00:00
test_group.c save works 2026-02-28 17:55:50 +08:00
test_hooks.c fix bug-1060 bug-1067 2026-06-24 17:05:43 +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_jobj_hardening.c feat(job-array-single-wal-record): harden jobj.c job construction primitives 2026-07-14 08:29:45 +00: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 test: add KVMGR_KEY_INT coverage to kvmgr_capture_keys tests 2026-05-07 11:12:11 +00:00
test_kvmgr_reserve.c fix(job-array-single-wal-record): close bug-1443's bulk-insert partial-visibility gap 2026-07-16 15:08:02 +00:00
test_libxce_retry.c fix(libxce-failover): known-dead ctx (XCE_CTX_ERR) triggers reconnect instead of surfacing -EINVAL 2026-06-17 04:46:01 +00:00
test_limit.c save works 2026-02-28 17:55:50 +08:00
test_netio_arm_failure.c fix(libxce-failover): classify and propagate netio I/O errors on failover 2026-06-18 04:17:07 +00:00
test_netio_batch_dispatch_uaf.c fix(netio): bug-1447 same-batch endpoint use-after-free in io_worker dispatch 2026-07-18 13:28:04 +00:00
test_netio_bounded_connect.c feat(raft-drive-async): bound peer connect (O_NONBLOCK+poll), close tasks 1.3/1.4/1.5 2026-06-26 07:10:53 +00:00
test_netio_close_propagation.c fix(libxce-failover): classify and propagate netio I/O errors on failover 2026-06-18 04:17:07 +00:00
test_netio_on_connected.c feat(election-iomgr-refactor): add on_connected fire-once callback to endpoint_t 2026-05-30 07:34:08 +00:00
test_netio_on_fini.c feat(ha): reference-counted ha_elect_ctx_t lifecycle (ha-elect-ctx-lifecycle) 2026-07-12 04:25:42 +00: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_raft.c feat(raft-apply-decoupling): task 7.1 apply-ordering conformance assertions 2026-07-05 05:25:32 +00:00
test_request.c fix(schema): rename struct Data -> XceData to unshadow capnp builtin blob type 2026-07-22 09:22:04 +00:00
test_request_send_propagation.c fix(libxce-failover): classify and propagate netio I/O errors on failover 2026-06-18 04:17:07 +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: sel_key_cmp_fn padding-byte mismatch in kvtab lookups 2026-05-12 09:53:59 +00:00
test_utils.c use clang-format to format code 2025-11-25 14:58:09 +08:00
test_vtask_admission.c feat(raft-drive-async): LivenessAdmission pool reservation + commit fold (tasks 1.6/1.7) 2026-06-26 07:43:19 +00:00
test_wal_wire.c fix(ha): close two independent chaotic-failover bugs — term-desync liveness stall and bug-847 WAL batch payload loss 2026-07-08 15:21:24 +00: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
test_zarray_reserve.c fix(job-array-single-wal-record): close bug-1443's bulk-insert partial-visibility gap 2026-07-16 15:08:02 +00:00