diff --git a/json_to_md.py b/json_to_md.py index a16bae09..27ddf0db 100644 --- a/json_to_md.py +++ b/json_to_md.py @@ -149,7 +149,7 @@ def json_to_md_nested(json_path, md_path, runtime_params=None): body_func = "" for test in sorted(tests, key=lambda x: x['global_number']): body_func += make_test_block(test, status, emoji, level=3, runtime_params=runtime_params) - body_file += get_details_block(f"๐Ÿ”ง Function: {funcname}", body_func, level=2) + body_file += get_details_block(f"๐Ÿ”ง Function: `{funcname}`", body_func, level=2) body_status += get_details_block(f"๐Ÿ“ {filename}", body_file, level=1) f.write(get_details_block(f"{emoji} {status_label} ({count})", body_status, level=0)) @@ -175,11 +175,11 @@ def json_to_md_nested(json_path, md_path, runtime_params=None): short_node = nodeid.split("[")[0] results = collector.get("result", []) if outcome != "passed" and results: - outputs.append(f"### โŒ {short_node}\n\n" + "\n".join( + outputs.append(f"### โŒ {short_node}\n```\n" + "\n".join( f"{k}: {v}" if isinstance(item, dict) else str(item) for item in results for k, v in item.items() if isinstance(item, dict) - ) + "\n") + ) + "\n```") if outputs: body_collectors += "### ๐Ÿงพ Error or Result Summary\n\n" @@ -194,11 +194,11 @@ def json_to_md_nested(json_path, md_path, runtime_params=None): nodeid = collector.get("nodeid", "unknown") short_node = nodeid.split("[")[0] - body_coll = f"- **Outcome:** {outcome}\n" + body_coll = f"- **Outcome:** `{outcome}`\n" other_keys = {k: v for k, v in collector.items() if k not in {"nodeid", "outcome"}} if other_keys: body_coll += "- **Details:**\n" - body_coll += "\n" + body_coll += "```\n" for k, v in other_keys.items(): body_coll += f"{k}:\n" if v is None: @@ -206,9 +206,9 @@ def json_to_md_nested(json_path, md_path, runtime_params=None): else: body_coll += stringify(v) + "\n" body_coll += "\n" - body_coll += "\n" + body_coll += "```\n" else: - body_coll += "- **Details:** None\n" + body_coll += "- **Details:** `None`\n" folder_body += get_details_block(f"{emoji} {short_node}", body_coll, level=2) f.write(get_details_block(f"{folder_emoji} {folder} ({len(collectors)} tests)", folder_body + body_collectors, level=1)) @@ -227,13 +227,13 @@ def json_to_md_nested(json_path, md_path, runtime_params=None): f.write(f"## โš ๏ธ {key.capitalize()}\n\n") for i, entry in enumerate(data[key], 1): - entry_body = "\n" + entry_body = "```\n" if isinstance(entry, dict): for k, v in entry.items(): entry_body += f"{k}: {v}\n" else: entry_body += str(entry) + "\n" - entry_body += "\n" + entry_body += "```\n" f.write(get_details_block(f"{key.capitalize()} #{i}", entry_body, level=1)) @@ -293,7 +293,7 @@ def run_pytest_and_generate_banner_with_logs(md_path, log_path, exit_code): full_banner = ( banner + "
\n๐Ÿชต Full raw pytest log\n\n" + - "\n" + "".join(log_lines) + "\n
\n\n" + + "```\n" + "".join(log_lines) + "```\n\n\n" + "---\n\n" ) @@ -332,6 +332,5 @@ def main(): print(f"โœ… Report generated at {args.output}") - if __name__ == "__main__": main() \ No newline at end of file