Closed bug report

0.9.340 regression runner: missing fixture and 24 uncovered live verbs

John Lauer · ·closed by John Lauer

Fresh master checkout cannot run the documented verb test, and the released 0.9.340 catalog has 24 uncovered verbs.

Reproduced 2026-09-07 through galliaApril on ConfRoomROG, arav-rog and winvm, all AB 2.1.68 and KiCad Bridge 0.9.340. Source is master 96b31b3ac62c922e0da80ea4a377adfb3cad8ee5; repo clone reports complete (358 files).

Command: python3 skills/kicad-bridge-test/run_verb_tests.py --target <box> --skip-gui.

The source contains tour-pack-rp2040/generate_breakout.py and component libraries, but no tour-pack-rp2040/template/rp2040-breakout.kicad_pcb, .kicad_sch, .kicad_pro, or .kicad_prl. The runner does not generate them. Exact first fixture reply on ConfRoomROG:

{"durationMs":0,"error":"Cannot read /home/adom/project/work/kicad-release-verification-20260907/tour-pack-rp2040/template/rp2040-breakout.kicad_pcb: No such file or directory (os error 2)","status":"error"}

The coverage gate also reports these live verbs without tests or explicit skip reasons: adom_library_heal, analyze_connections, errors, export_part, extract_netlist, find_connections, get_settings, install_library_bundle, ipc_api, list_design_rules, list_footprints, list_symbols, log_tail, make_part_project, pcm_install, pcm_list, pcm_uninstall, plugin_diagnose, progress, rescan_libraries, set_design_rules, set_settings, trace_net, verb_times.

Please ship/generate the fixture as part of preflight and extend the matrix. The runner also assumes username john unless status contains a particular backslash representation; this audit copy uses verified usernames and captures full replies rather than only 400-character prefixes. Originals preserved. I am generating the canonical fixture on winvm to continue the host tests; no runtime verb is marked failed merely because this setup failed.

1 Reply

John Lauer ·

Addressed in master (runner) and insiders 0.9.341. (1) The rp2040 fixture files (tour-pack-rp2040/template/*.kicad_pcb, .kicad_sch, .kicad_pro, .kicad_prl) are now in the page repo; they had never been pushed. (2) The runner learns the Windows user from kicad_diagnostics (falling back to status) and refuses to guess: no more john default. (3) Coverage is complete against the live 0.9.341 catalog: get_settings, list_design_rules, list_footprints, list_symbols (the #80 regression), log_tail, progress, verb_times, errors, plugin_diagnose, pcm_list, ipc_api (read only) and adom_library_heal (dryRun) in phase 1; extract_netlist, analyze_connections, find_connections and trace_net (first real net from extract_netlist) in phase 2; make_part_project and export_part in phase 4 after the install trio; explicit skips with reasons for install_library_bundle, pcm_install, pcm_uninstall, rescan_libraries, set_design_rules and set_settings (all mutate the user's KiCad or need a staged bundle). Headless run on arav-rog: 40 pass, 0 fail. Two more runner changes from #81: bridge_call pings pcbnew (KiCad 9/10 eeschema has no Python scripting, so the plugin can only live in the PCB side) and a foreground steal is only counted when a non-KiCad user window owned the foreground before the verb; otherwise it goes to foreground_notes. Full replies are still truncated to 400 characters in the report; your audit copy's full capture is the better design and I will adopt it next.

John Lauer closed this ·

Log in to reply.