myxce/src/lib/testsuite
Rongsong Shen dcb1b4fe25 feat: P0-2a C-side plumbing for host control
Add the full call chain for host control operations from the Go API
server through the C library to the controller:

- schema/controller.capnp: HostControl struct + hostctrlmsg @21
  in Request.body union
- include/typemap.h: xce_hostctrl_t* hostctrlmsg in body union
  (placed after @20 clrpreasonmsg, matching capnp ordinal)
- include/client.h, xceapi.h, request.h: declarations for
  xcecli_hostctrl, xce_hostctrl, xce_hostctrl_req
- lib/client.c: xcecli_hostctrl (validate + delegate to xce_hostctrl)
- lib/xceapi.c: xce_hostctrl (validate ctx state + send + wait reply)
- lib/request.c: xce_hostctrl_req (validate hostname/empty/nil,
  accept only HOST_OPEN/HOST_CLOSE, reject HOST_TAG/UNTAG)
- lib/helper.c: Request_body_hostctrlmsg cases in
  xce_request_body() and xce_request_msg_name()
- controller/cluster.c: OPCode_hostcontrol dispatch
- controller/include/cluster.h: do_hostcontrol_op declaration
- controller/worker.c: do_hostcontrol_op + fix pre-existing
  goto-clean bug in worker_ctrl that leaked write lock and
  reference on HOST_OPEN/HOST_CLOSE no-op paths

TDD: 8 xce_hostctrl_req validation tests (null ep, null ctrl,
null/empty hostname, HOST_DO_NONE no-op, HOST_TAG/UNTAG reject,
negative action reject, HOST_OPEN/CLOSE accept via xce_request).

116/116 xcelib tests pass. CGO_ENABLED=0 Go backend tests pass.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-17 07:46:41 +00:00
..
test.c feat: P0-2a C-side plumbing for host control 2026-04-17 07:46:41 +00:00
test_bitset.c - introduce bitset 2026-02-13 11:01:33 +08:00
test_config.c using highest 2 bits as tag 2025-11-10 10:25:59 +08:00
test_delay.c merge job rusage and pending reason support 2025-12-16 14:36:28 +08: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_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_resreq.c save works 2026-03-06 18:20:30 +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 save works 2026-03-03 16:49:26 +08: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