Impl/topic24 - #67
Impl/topic24#67FeelTheBeats wants to merge 5 commits into
Conversation
🤖 AI Code Review
📁
|
…tion - catch OSError from subprocess spawn (ENOEXEC: no shebang, wrong arch, truncated binary) and map it to status=failed/exit_code=-2 instead of letting a traceback escape - reject fake success: a clean exit with no parsable Spike statistics at all now yields status=failed/exit_code=-2 - fill exit_code=-2 in the CLI skip JSON report, matching the library skip path and the documented sentinel - downgrade invalid --spike-dasm/--spike-log-parser CLI paths to WARNING + fall-through; only --spike-bin stays a hard config error - print resolver warnings to stderr so invalid env/optional CLI values are visible, not just recorded in reports - reword optional-tool warnings: this module does not use dasm or log-parser yet (no feature is degraded) - sync design/development docs with these contracts (F1/F3/F4/F5/F6)
…tracts - F1: real ENOEXEC repro (chmod +x plain text as --spike-bin) asserts exit 1 / no traceback / JSON status=failed; plus mock OSError tests for run_spike and run_spike_with_log - F2: probe_spike_tools() (resolved, missing + hint, config-error) and run_spike_bench.generate_json_report backend/spike_tools contracts - F3: skip JSON exit_code == -2; strict/CLI-invalid modes emit no report - F4: invalid optional CLI paths warn and the simulation still runs - F6: empty-output executable is reported as failed, not ok - F7: timeout->status=timeout, rc!=0->failed/EXIT_RUN_FAIL, _optional_tool_warnings wording, main() success path (ELF write, cleanup, tools passthrough)
No description provided.