Update json_to_md.py
This commit is contained in:
+17
-9
@@ -36,6 +36,14 @@ def write_details_block(f, title, data):
|
||||
f.write("```\n")
|
||||
f.write("</details>\n\n")
|
||||
|
||||
def extract_params(test):
|
||||
if "params" in test:
|
||||
return stringify(test["params"])
|
||||
if "[" in test.get("nodeid", ""):
|
||||
raw = test["nodeid"].split("[")[-1].rstrip("]")
|
||||
return ', '.join(f"`{p}`" for p in raw.split("-"))
|
||||
return "`None`"
|
||||
|
||||
def json_to_adaptive_md(json_path, md_path):
|
||||
with open(json_path) as f:
|
||||
data = json.load(f)
|
||||
@@ -78,7 +86,7 @@ def json_to_adaptive_md(json_path, md_path):
|
||||
f.write("</details>\n\n")
|
||||
|
||||
if "tests" in data:
|
||||
f.write("## 🧪 Tests\n")
|
||||
f.write("## 🔎 Tests\n")
|
||||
for test in data["tests"]:
|
||||
outcome = test.get("outcome", "unknown")
|
||||
icons = {"passed": "✅", "failed": "❌", "skipped": "⏭️", "error": "❗"}
|
||||
@@ -88,12 +96,9 @@ def json_to_adaptive_md(json_path, md_path):
|
||||
|
||||
f.write(f"<details>\n<summary>{emoji} `{short_name}`</summary>\n\n")
|
||||
|
||||
if "[" in nodeid:
|
||||
params = nodeid.split("[")[-1].rstrip("]")
|
||||
param_list = params.split("-")
|
||||
f.write(f"- **Paramètres:**\n")
|
||||
for i, val in enumerate(param_list, 1):
|
||||
f.write(f" - Param {i}: `{val}`\n")
|
||||
param_string = extract_params(test)
|
||||
if param_string != "`None`":
|
||||
f.write(f"- **Paramètres:** {param_string}\n")
|
||||
|
||||
f.write(f"- **Statut:** {emoji} `{outcome}`\n")
|
||||
duration = test.get("call", {}).get("duration")
|
||||
@@ -104,7 +109,10 @@ def json_to_adaptive_md(json_path, md_path):
|
||||
f.write("<details>\n<summary>Détails</summary>\n\n")
|
||||
for key in ['duration', 'outcome', 'crash', 'traceback', 'longrepr']:
|
||||
value = test.get("call", {}).get(key)
|
||||
f.write(f"- **{key}:**\n```\n{value if value else 'None'}\n```\n\n")
|
||||
f.write(f"- **{key}:**\n")
|
||||
f.write("```\n")
|
||||
f.write(f"{value if value else 'None'}\n")
|
||||
f.write("```\n\n")
|
||||
f.write("</details>\n")
|
||||
f.write("</details>\n\n")
|
||||
|
||||
@@ -119,4 +127,4 @@ def main():
|
||||
print(f"✅ Rapport généré dans {args.output}")
|
||||
|
||||
if __name__ == "__main__":
|
||||
main()
|
||||
main()
|
||||
Reference in New Issue
Block a user