diff --git a/tests/comparison_capture.py b/tests/comparison_capture.py
index d54f87a..c7cb998 100644
--- a/tests/comparison_capture.py
+++ b/tests/comparison_capture.py
@@ -444,7 +444,7 @@ def generate_html_report(
comparison_results: List[Dict[str, Any]],
output_dir: Path = Path("tests/comparison_output"),
) -> Path:
- """Generate HTML report from comparison results.
+ """Generate HTML report from comparison results using acceptance_report.py.
Args:
comparison_results: List of comparison results
@@ -453,161 +453,37 @@ def generate_html_report(
Returns:
Path to generated HTML report
"""
+ from tests.acceptance_report import save_index_report
+
output_dir.mkdir(parents=True, exist_ok=True)
- html_content = """
-
-
-
-
-
- Mainline Comparison Report
-
-
-
-
+ # Generate index report with links to all comparison results
+ reports = []
+ for result in comparison_results:
+ reports.append(
+ {
+ "test_name": f"comparison-{result['preset']}",
+ "status": "PASS" if result.get("status") == "success" else "FAIL",
+ "frame_count": result["stats"]["total_frames_compared"],
+ "duration_ms": result["performance_comparison"]["sideline"][
+ "total_time_ms"
+ ],
+ }
+ )
-
-
Summary
-
-
-
-
0%
-
Average Match Rate
-
-
-
0
-
Total Frames Compared
-
-
-
+ # Save index report
+ index_file = save_index_report(reports, str(output_dir))
-
-
-
+ # Also save a summary JSON file for programmatic access
+ summary_file = output_dir / "comparison_summary.json"
+ with open(summary_file, "w") as f:
+ json.dump(
+ {
+ "timestamp": __import__("datetime").datetime.now().isoformat(),
+ "results": comparison_results,
+ },
+ f,
+ indent=2,
+ )
-
-
-
-"""
-
- # Generate comparison data for JavaScript
- comparison_data_json = json.dumps(comparison_results)
-
- # Calculate summary statistics
- total_presets = len(comparison_results)
- total_frames = sum(r["stats"]["total_frames_compared"] for r in comparison_results)
- total_identical = sum(r["stats"]["identical_frames"] for r in comparison_results)
- average_match = (total_identical / total_frames * 100) if total_frames > 0 else 0
-
- summary = {
- "total_presets": total_presets,
- "total_frames": total_frames,
- "total_identical": total_identical,
- "average_match": average_match,
- }
-
- # Replace placeholders
- html_content = html_content.replace(
- "{{timestamp}}", time.strftime("%Y-%m-%d %H:%M:%S")
- )
- html_content = html_content.replace("{{comparison_data}}", comparison_data_json)
- html_content = html_content.replace("{{summary}}", json.dumps(summary))
-
- # Save HTML report
- output_file = output_dir / "comparison_report.html"
- with open(output_file, "w") as f:
- f.write(html_content)
-
- return output_file
+ return Path(index_file)