Files
slic/conftest.py
T
tligui_y b73fb3f8cd
Run Pytest with HTML and XML Test Reports / tests (push) Successful in 26s
Update conftest.py
2025-07-17 10:59:54 +02:00

54 lines
1.4 KiB
Python
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# conftest.py
import json
import os
def safe_serialize(obj):
"""Convertit n'importe quel objet Python en une forme JSON-sérialisable"""
try:
json.dumps(obj)
return obj
except TypeError:
try:
return str(obj)
except Exception:
return "<unserializable>"
def serialize_object(obj):
"""Sérialise tous les attributs publics dun objet"""
result = {}
for attr in dir(obj):
if attr.startswith("_"):
continue
try:
value = getattr(obj, attr)
result[attr] = safe_serialize(value)
except Exception:
result[attr] = "<error>"
return result
# Conteneurs pour stocker les dumps
all_data = {
"session": {},
"tests": [] # chaque test contiendra item + call
}
def pytest_sessionstart(session):
all_data["session"] = serialize_object(session)
def pytest_runtest_makereport(item, call):
if call.when != "call":
return
item_dump = serialize_object(item)
call_dump = serialize_object(call)
all_data["tests"].append({
"nodeid": item.nodeid,
"item": item_dump,
"call": call_dump
})
def pytest_sessionfinish(session, exitstatus):
os.makedirs("ci-reports/markdown", exist_ok=True)
print("✅ Dumping runtime_params.json...")
with open("ci-reports/markdown/runtime_params.json", "w") as f:
json.dump(runtime_params, f, indent=2)