feat(i18n): tools + landing page + doorstop generator in English
Phase 1 of full English translation: - generate_doorstop_items.py: all 55 items (SG/SYS/SWE/SA/SWA) rewritten in English - generate_landing_page.py: full UI labels, KPI cards, section headings in English - traceability.py: docstring, error messages, HTML headers in English - generate_test_report.py: report content + table headers in English - All 55 markdown items in safety/sg/, reqs/, arch/ regenerated in English Still to come: - demo-epb filled Word docs (PID, plans, safety, manuals, audit artefacts) - Code comments + test names + CI workflow step names - README + dev-process repo templates
This commit is contained in:
@@ -2,7 +2,7 @@
|
||||
"""
|
||||
Erzeugt einen Test-Summary-Report aus dem Output unserer Unit-Tests.
|
||||
|
||||
Liest die Test-Output-Datei (build/test-output.txt) und erzeugt:
|
||||
Reads the test-output file (build/test-output.txt) and produces:
|
||||
- build/test-report.md
|
||||
- build/test-report.html
|
||||
|
||||
@@ -67,7 +67,7 @@ def main() -> int:
|
||||
output = TEST_OUTPUT.read_text()
|
||||
results = parse_output(output)
|
||||
if not results:
|
||||
print("ERROR: keine Test-Suite im Output gefunden.")
|
||||
print("ERROR: no test suite found in the output.")
|
||||
return 1
|
||||
|
||||
total = sum(r["total"] for r in results)
|
||||
@@ -77,11 +77,11 @@ def main() -> int:
|
||||
|
||||
# Markdown
|
||||
md = [f"# demo-epb — Test Summary Report\n\n",
|
||||
f"**Datum:** {now}\n\n",
|
||||
f"**Gesamt:** {total} Tests, {passed} bestanden, {failed} fehlgeschlagen\n\n",
|
||||
f"**Date:** {now}\n\n",
|
||||
f"**Total:** {total} tests, {passed} passed, {failed} failed\n\n",
|
||||
f"**Status:** {'PASS' if failed == 0 else 'FAIL'}\n\n",
|
||||
"## Pro Test-Suite\n\n",
|
||||
"| Suite | Anzahl | Bestanden | Fehlgeschlagen | Anforderungen |\n",
|
||||
"## Per Test Suite\n\n",
|
||||
"| Suite | Count | Passed | Failed | Requirements |\n",
|
||||
"|-------|--------|-----------|-----------------|---------------|\n"]
|
||||
for r in results:
|
||||
reqs = ", ".join(reqs_for(r["binary"])) or "—"
|
||||
@@ -113,12 +113,12 @@ def main() -> int:
|
||||
".pass-badge{background:#0a0}.fail-badge{background:#c00}",
|
||||
"</style></head><body>",
|
||||
"<h1>demo-epb — Test Summary Report</h1>",
|
||||
f"<p><strong>Datum:</strong> {now}</p>",
|
||||
f"<p><strong>Gesamt:</strong> {total} Tests, {passed} bestanden, {failed} fehlgeschlagen — "
|
||||
f"<p><strong>Date:</strong> {now}</p>",
|
||||
f"<p><strong>Total:</strong> {total} tests, {passed} passed, {failed} failed — "
|
||||
f"<span class='badge {badge_cls}'>{badge_txt}</span></p>",
|
||||
"<h2>Pro Test-Suite</h2>",
|
||||
"<table><tr><th>Suite</th><th>Anzahl</th><th>Bestanden</th>"
|
||||
"<th>Fehlgeschlagen</th><th>Anforderungen</th></tr>",
|
||||
"<h2>Per Test Suite</h2>",
|
||||
"<table><tr><th>Suite</th><th>Count</th><th>Passed</th>"
|
||||
"<th>Failed</th><th>Requirements</th></tr>",
|
||||
]
|
||||
for r in results:
|
||||
reqs = ", ".join(reqs_for(r["binary"])) or "—"
|
||||
|
||||
Reference in New Issue
Block a user