feat(xce-test-cli-ux): build JSON list-output helper library
listfmt_json_begin/new_row/add_string/add_number/finish wrap cJSON (already linked via struct2json_dep) into a minimal array/object lifecycle library with no generic "record" abstraction -- each command's own row struct maps its fields directly when wired in later (task 3.4). Proven via a real stdout-capture-then-reparse round trip, including a 733-character field with no truncation, and stderr staying empty. 1306/1306 controller suite passing (+9). Task 2.2 of .kiro/specs/xce-test-cli-ux/tasks.md. Requirements: 5.1, 5.3 Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_019jaMf9QEwpugH2W9KAuc7f
This commit is contained in:
parent
a2686516f7
commit
07d238eada
6 changed files with 464 additions and 2 deletions
|
|
@ -55,7 +55,7 @@ controller = executable('xce_controller',
|
|||
link_args: wrap_link_args,
|
||||
install: true)
|
||||
|
||||
xce_test_src = [ 'testsuite/test.c', 'testsuite/waldump.c', 'testsuite/walcompare.c', 'testsuite/snapverify.c', 'testsuite/snapdiff.c', 'testsuite/configcompare.c', 'testsuite/resval_typeresolve.c', 'testsuite/rcfile.c', 'testsuite/flagspec.c', 'testsuite/interruptcall.c', 'testsuite/confirm.c']
|
||||
xce_test_src = [ 'testsuite/test.c', 'testsuite/waldump.c', 'testsuite/walcompare.c', 'testsuite/snapverify.c', 'testsuite/snapdiff.c', 'testsuite/configcompare.c', 'testsuite/resval_typeresolve.c', 'testsuite/rcfile.c', 'testsuite/flagspec.c', 'testsuite/interruptcall.c', 'testsuite/confirm.c', 'testsuite/listfmt_json.c']
|
||||
|
||||
# BSD-licensed readline replacement (scheduler-core spec, task 12.1 review
|
||||
# finding): GNU readline is GPL; xce_test's REPL only needs readline()/
|
||||
|
|
@ -176,6 +176,8 @@ controller_unit_test_src = [
|
|||
'testsuite/interruptcall.c',
|
||||
'testsuite/test_confirm.c',
|
||||
'testsuite/confirm.c',
|
||||
'testsuite/test_listfmt_json.c',
|
||||
'testsuite/listfmt_json.c',
|
||||
'testsuite/test_xcetest_process_entry.c',
|
||||
'testsuite/test_test_cli.c',
|
||||
'testsuite/test_persist_snapshot_entities.c',
|
||||
|
|
@ -240,6 +242,8 @@ controller_unit_test_deps = [
|
|||
zlib_dep,
|
||||
c_capnproto_dep,
|
||||
ssl_dep,
|
||||
struct2json_dep, # testsuite/listfmt_json.c + test_listfmt_json.c: cJSON
|
||||
# (xce-test-cli-ux task 2.2)
|
||||
]
|
||||
|
||||
controller_unit_test = executable('controller_unit_test',
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue