Source code for avl.tools.coverage_analysis

#!/usr/bin/env python3

import argparse
import os
import shutil

import pandas as pd
import numpy as np


# HTML + DataTables JavaScript with column filters and fixed header
logo = """
<a href="https://avl-core.readthedocs.io/en/latest/index.html" target="_blank" title="Visit our website">
<img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAABkEAAAH+CAYAAAArqakSAAAAAXNSR0IArs4c6QAAC850RVh0bXhmaWxlACUzQ214ZmlsZSUyMGhvc3QlM0QlMjJFbGVjdHJvbiUyMiUyMGFnZW50JTNEJTIyTW96aWxsYSUyRjUuMCUyMChXaW5kb3dzJTIwTlQlMjAxMC4wJTNCJTIwV2luNjQlM0IlMjB4NjQpJTIwQXBwbGVXZWJLaXQlMkY1MzcuMzYlMjAoS0hUTUwlMkMlMjBsaWtlJTIwR2Vja28pJTIwZHJhdy5pbyUyRjI2LjAuMTUlMjBDaHJvbWUlMkYxMzIuMC42ODM0LjE5NiUyMEVsZWN0cm9uJTJGMzQuMi4wJTIwU2FmYXJpJTJGNTM3LjM2JTIyJTIwdmVyc2lvbiUzRCUyMjI2LjAuMTUlMjIlMjBzY2FsZSUzRCUyMjElMjIlMjBib3JkZXIlM0QlMjIwJTIyJTNFJTBBJTIwJTIwJTNDZGlhZ3JhbSUyMG5hbWUlM0QlMjJQYWdlLTElMjIlMjBpZCUzRCUyMkcwVHo4cVhuV2RDcWREdmYwUzdfJTIyJTNFJTBBJTIwJTIwJTIwJTIwJTNDbXhHcmFwaE1vZGVsJTIwZHglM0QlMjIxODIxJTIyJTIwZHklM0QlMjIxODQ1JTIyJTIwZ3JpZCUzRCUyMjElMjIlMjBncmlkU2l6ZSUzRCUyMjEwJTIyJTIwZ3VpZGVzJTNEJTIyMSUyMiUyMHRvb2x0aXBzJTNEJTIyMSUyMiUyMGNvbm5lY3QlM0QlMjIxJTIyJTIwYXJyb3dzJTNEJTIyMSUyMiUyMGZvbGQlM0QlMjIxJTIyJTIwcGFnZSUzRCUyMjElMjIlMjBwYWdlU2NhbGUlM0QlMjIxJTIyJTIwcGFnZVdpZHRoJTNEJTIyODI3JTIyJTIwcGFnZUhlaWdodCUzRCUyMjExNjklMjIlMjBtYXRoJTNEJTIyMCUyMiUyMHNoYWRvdyUzRCUyMjAlMjIlM0UlMEElMjAlMjAlMjAlMjAlMjAlMjAlM0Nyb290JTNFJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTNDbXhDZWxsJTIwaWQlM0QlMjIwJTIyJTIwJTJGJTNFJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTNDbXhDZWxsJTIwaWQlM0QlMjIxJTIyJTIwcGFyZW50JTNEJTIyMCUyMiUyMCUyRiUzRSUwQSUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUzQ214Q2VsbCUyMGlkJTNEJTIyRHhRcjZhMU43WmJwZC1BMDBQQjgtMSUyMiUyMHZhbHVlJTNEJTIyJTI2bHQlM0Jmb250JTIwZmFjZSUzRCUyNnF1b3QlM0JWZXJkYW5hJTI2cXVvdCUzQiUyMHN0eWxlJTNEJTI2cXVvdCUzQmZvbnQtc2l6ZSUzQSUyMDMwMHB4JTNCJTIwY29sb3IlM0ElMjByZ2IoMTMxJTJDJTIwMTMxJTJDJTIwMTMxKSUzQiUyNnF1b3QlM0IlMjZndCUzQiUyNmx0JTNCYiUyMHN0eWxlJTNEJTI2cXVvdCUzQiUyNnF1b3QlM0IlMjZndCUzQnBoZWxlaWElMjZsdCUzQiUyRmIlMjZndCUzQiUyNmx0JTNCJTJGZm9udCUyNmd0JTNCJTIyJTIwc3R5bGUlM0QlMjJ0ZXh0JTNCaHRtbCUzRDElM0JhbGlnbiUzRGNlbnRlciUzQnZlcnRpY2FsQWxpZ24lM0RtaWRkbGUlM0JyZXNpemFibGUlM0QwJTNCcG9pbnRzJTNEJTVCJTVEJTNCYXV0b3NpemUlM0QxJTNCc3Ryb2tlQ29sb3IlM0Rub25lJTNCZmlsbENvbG9yJTNEbm9uZSUzQiUyMiUyMHBhcmVudCUzRCUyMjElMjIlMjB2ZXJ0ZXglM0QlMjIxJTIyJTNFJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTNDbXhHZW9tZXRyeSUyMHglM0QlMjI3MCUyMiUyMHklM0QlMjItNzAlMjIlMjB3aWR0aCUzRCUyMjEyNTAlMjIlMjBoZWlnaHQlM0QlMjIzNzAlMjIlMjBhcyUzRCUyMmdlb21ldHJ5JTIyJTIwJTJGJTNFJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTNDJTJGbXhDZWxsJTNFJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTNDbXhDZWxsJTIwaWQlM0QlMjJEeFFyNmExTjdaYnBkLUEwMFBCOC0yJTIyJTIwdmFsdWUlM0QlMjIlMjIlMjBzdHlsZSUzRCUyMnRyaWFuZ2xlJTNCd2hpdGVTcGFjZSUzRHdyYXAlM0JodG1sJTNEMSUzQnJvdGF0aW9uJTNELTkwJTNCZmlsbENvbG9yJTNEJTIzREJEQkRCJTNCJTIyJTIwcGFyZW50JTNEJTIyMSUyMiUyMHZlcnRleCUzRCUyMjElMjIlM0UlMEElMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlM0NteEdlb21ldHJ5JTIweCUzRCUyMi0zMjMlMjIlMjB5JTNEJTIyLTE2NiUyMiUyMHdpZHRoJTNEJTIyNDQ5JTIyJTIwaGVpZ2h0JTNEJTIyMzYzJTIyJTIwYXMlM0QlMjJnZW9tZXRyeSUyMiUyMCUyRiUzRSUwQSUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUzQyUyRm14Q2VsbCUzRSUwQSUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUzQ214Q2VsbCUyMGlkJTNEJTIyRHhRcjZhMU43WmJwZC1BMDBQQjgtNCUyMiUyMHZhbHVlJTNEJTIyJTIyJTIwc3R5bGUlM0QlMjJ0cmlhbmdsZSUzQndoaXRlU3BhY2UlM0R3cmFwJTNCaHRtbCUzRDElM0Jyb3RhdGlvbiUzRC05MCUzQmZpbGxDb2xvciUzRCUyMzdFQTZFMCUzQiUyMiUyMHBhcmVudCUzRCUyMjElMjIlMjB2ZXJ0ZXglM0QlMjIxJTIyJTNFJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTNDbXhHZW9tZXRyeSUyMHglM0QlMjItMjM5LjUlMjIlMjB5JTNEJTIyLTgzLjUlMjIlMjB3aWR0aCUzRCUyMjI4NCUyMiUyMGhlaWdodCUzRCUyMjM2MyUyMiUyMGFzJTNEJTIyZ2VvbWV0cnklMjIlMjAlMkYlM0UlMEElMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlM0MlMkZteENlbGwlM0UlMEElMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlM0NteENlbGwlMjBpZCUzRCUyMkR4UXI2YTFON1picGQtQTAwUEI4LTMlMjIlMjB2YWx1ZSUzRCUyMiUyMiUyMHN0eWxlJTNEJTIydHJpYW5nbGUlM0J3aGl0ZVNwYWNlJTNEd3JhcCUzQmh0bWwlM0QxJTNCcm90YXRpb24lM0QtOTAlM0Jm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8eKKjIwMKpj58+fryJEjWrRoUVD1TbMIIIAAAggggAACCCCAAAIIIIAAAggggIAVBRiCWPFUbF7T6dOnVbhwYe3bt085c+a0eTeelX/lyhXX13+dOHFCjzzyiGebWY0AAggggAACCCCAAAIIIIAAAggggAACCCDgUwGGID7lJJghMGrUKH3yyScaMmRIUIK88cYbevrpp9W/f/+g7J+mEUAAAQQQQAABBBBAAAEEEEAAAQQQQAABqwgwBLHKSTiojmLFirkGIaVLl3ZQV+638uGHH2rAgAH64osv3N/ESgQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAGfCzAE8TlpcAdcu3at3nzzzaC/E8O4E8VwqFu3bnC/EHSPAAIIIIAAAggggAACCCCAAAIIIIAAAggEUIAhSADxnZi6SZMmeu6552QMAYL5MS5GNz4Rsnz58mBmoHcEEEAAAQQQQAABBBBAAAEEEEAAAQQQQCCgAgxBAsrvrOQnT55UyZIltXfvXuXIkcNZzXnYzdWrV1WuXDkdPnxYTzzxhIe7WY4AAggggAACCCCAAAIIIIAAAggggAACCCDgCwGGIL5QJIZLYOjQoTp27JgGDRqEiKRhw4apSJEiGjx4MB4IIIAAAggggAACCCCAAAIIIIAAAggggAACARBgCBIAdKemLFSokCZMmKCnn37aqS161Ncnn3yiHj166MSJEx7tYzECCCCAAAIIIIAAAggggAACCCCAAAIIIICAbwQYgvjGMeijrFy5UgkJCZo/f37QW9wIEBkZqb59+6pRo0a4IIAAAggggAACCCCAAAIIIIAAAggggAACCJgswBDEZHCnpqtfv75eeOEFGRej8/yfgHEx+gcffKDVq1fDggACCCCAAAIIIIAAAggggAACCCCAAAIIIGCyAEMQk8GdmO7o0aOuS8D37NmjbNmyObFFr3u6fv26ypcvr3379rnuB+FBAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQME+AIYh51o7NZFyEfvr0afXv39+xPWalsVGjRunRRx91XZTOgwACCCCAAAIIIIAAAggggAACCCCAAAIIIGCeAEMQ86wdm6lAgQKaNm2aihcv7tges9LYkSNH1LlzZ506dSorYdiLAAIIIIAAAggggAACCCCAAAIIIIAAAggg4KEAQxAPwVj+Z4ElS5YoOTlZc+bM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xJ1+5ahIgARIgARIgARIgARIgARIgARIgARIgAREKIJwFpAACZBAgBOgCBLgE4DDJwESIAESIAESIAESIAESIAESIAESIAEXE6AI4mLncmgkQAIkoIcARRA9lHgNCZAACZAACZAACZAACZAACZAACZAACZCAEwlQBHGi12gzCZAACRhIgCKIgTDZFAmQAAmQAAmQAAmQAAmQAAmQAAmQAAmQgFIEKIIo5Q4aQwIkQALWE6AIYj1z9kgCJEACJEACJEACJEACJEACJEACJEACJGANAYog1nBmLyRAAiSgLAGKIMq6hoaRAAmQAAmQAAmQAAmQAAmQAAmQAAmQAAn4SYAiiJ8AWZ0ESIAEnE6AIojTPUj7SYAESIAESIAESIAESIAESIAESIAESIAEYiNAEYRzgwRIgAQCnABFkACfABw+CZAACZAACZAACZAACZAACZAACZAACbiYAEUQFzuXQyMBEiABPQQoguihxGtIgARIgARIgARIgARIgARIgARIgARIgAScSIAiiBO9RptJgARIwEACFEEMhMmmSIAESIAESIAESIAESIAESIAESIAESIAElCJAEUQpd9AYEiABErCeAEUQ65mzRxIgARIgARIgARIgARIgARIgARIgARIgAWsIUASxhjN7IQESIAFlCVAEUdY1NIwESIAESIAESIAESIAESIAESIAESIAESMBPAhRB/ATI6iRAAiTgdAIUQZzuQdpPAiRAAiRAAiRAAiRAAiRAAiRAAiRAAiQQGwGKIJwbJEACJBDgBCiCBPgE4PBJgARIgARIgARIgARIgARIgARIgARIwMUEKIK42LkcGgmQAAnoIUARRA8lXkMCJEACJEACJEACJEACJEACJEACJEACJOBEAhRBnOg12kwCJEACBhKgCGIgTDZFAiRAAiRAAiRAAiRAAiRAAiRAAiRAAiSgFAGKIEq5g8aQAAmQgPUEKIJYz5w9kgAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJWEOAIog1nNkLCZAACShLgCKIsq6hYSRAAiRAAiRAAiRAAiRAAiRAAiRAAiRAAn4SoAjiJ0BWJwESIAGnE6AI4nQP0n4SIAESIAESIAESIAESIAESIAESIAESIIHYCFAE4dwgARIggQAnQBEkwCcAh08CJEACJEACJEACJEACJEACJEACJEACLiZAEcTFzuXQSIAESEAPAYogeijxGhIgARIgARIgARIgARIgARIgARIgARIgAScSoAjiRK/RZhIgARIwkABFEANhsikSIAESIAESIAESIAESIAESIAESIAESIAGlCFAEUcodNIYESIAErCdAEcR65uyRBEiABEiABEiABEiABEiABEiABEiABEjAGgIUQazhzF5IgARIQFkCFEGUdQ0NIwESIAESIAESIAESIAESIAESIAESIAES8JMARRA/AbI6CZAACTidAEUQp3uQ9pMACZAACZAACZAACZAACZAACZAACZAACcRGgCII5wYJkAAJBDgBiiABPgE4fBIgARIgARIgARIgARIgARIgARIgARJwMQGKIC52LodGAiRAAnoIUATRQ4nXkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJOJEARRAneo02kwAJkICBBCiCGAiTTZEACZAACZAACZAACZAACZAACZAACZAACShFgCKIUu6gMSRAAiRgPQGKINYzZ48kQAIkQAIkQAIkQAIkQAIkQAIkQAIkQALWEKAIYg1n9kICJEACyhKgCKKsa2gYCZAACZAACZAACZAACZAACZAACZAACZCAnwQogvgJkNVJgARIwOkEKII43YO0nwRIgARIgARIgARIgARIgARIgARIgARIIDYCFEE4N0iABEggwAlQBAnwCcDhkwAJkAAJkAAJkAAJkAAJkAAJkAAJkICLCVAEcbFzOTQSIAES0EOAIogeSryGBEiABEiABEiABEiABEiABEiABEiABEjAiQQogjjRa7SZBEiABAwkQBHEQJhsigRIgARIgARIgARIgARIgARIgARIgARIQCkCFEGUcgeNIQESIAHrCVAEsZ45eyQBEiABEiABEiABEiABEiABEiABEiABErCGAEUQazizFxIgARJQlgBFEGVdQ8NIgARIgARIgARIgARIgARIgARIgARIgAT8JEARxE+ArE4CJEACTidAEcTpHqT9JEACJEACJEACJEACJEACJEACJEACJEACsRGgCMK5QQIkQAIBToAiSIBPAA6fBEiABEiABEiABEiABEiABEiABEiABFxMgCKIi53LoZEACZCAHgIUQfRQ4jUkQAIkQAIkQAIkQAIkQAIkQAIkQAIkQAJOJEARxIleo80kQAIkYCABiiAGwmRTJEACJEACJEACJEACJEACJEACJEACJEACShGgCKKUO2gMCZAACVhPgCKI9czZIwmQAAmQAAmQAAmQAAmQAAmQAAmQAAmQgDUEKIJYw5m9kAAJkICyBCiCKOsaGkYCJEACJEACJEACJEACJEACJEACJEACJOAnAYogfgJkdRIgARJwOgGKIE73IO0nARIgARIgARIgARIgARIgARIgARIgARKIjQBFEM4NEiABEghwAhRBAnwCcPgkQAIkQAIkQAIkQAIkQAIkQAIkQAIk4GICFEFc7FwOjQRIgAT0EKAIoocSryEBEiABEiABEiABEiABEiABEiABEiABEnAiAYogTvQabSYBEiABAwlQBDEQJpsiARIgARIgARIgARIgARIgARIgARIgARJQigBFEKXcQWNIgARIwHoCFEGsZ84eSYAESIAESIAESIAESIAESIAESIAESIAErCFAEcQazuyFBEiABJQlQBFEWdfQMBIgARIgARIgARIgARIgARIgARIgARIgAT8JUATxEyCrkwAJkIDTCVAEcboHaT8JkAAJkAAJkAAJkAAJkAAJkAAJkAAJkEBsBCiCcG6QAAmQQIAToAgS4BOAwycBEiABEiABEiABEiABEiABEiABEiABFxOgCOJi53JoJEACJKCHAEUQPZR4DQmQAAmQAAmQAAmQAAmQAAmQAAmQAAmQgBMJUARxotdoMwmQAAkYSODw4cMyb948A1u0v6lixYpJcHCw/YbQAhIgARIgARIgARIgARIgARIgARIgARIgAVsJUASxFT87JwESIAH7CRw9elQTQR49emS/MQZZULBgQalbt65BrbEZEiABEiABEiABEiABEiABEiABEiABEiABpxKgCOJUz9FuEiABEjCIwO3bt2XFihVy7NgxrcUECRIY1LL1zTx+/FjrtHr16lK0aFHrDWCPJEACJEACJEACJEACJEACJEACJEACJEACShGgCKKUO2gMCZAACdhH4P79+/Lnn386WgRJmDChJEqUSJIkSWIfSPZMAiRAAiRAAiRAAiRAAiRAAiRAAiRAAiSgDAGKIMq4goaQAAmQAAmQAAmQAAmQAAmQAAmQAAmQAAmQAAmQAAmQAAkYSYAiiJE02RYJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkIAyBCiCKOMKGkICJEACJEACJEACJEACJEACJEACJEACJEACJEACJEACJGAkAYogRtJkWyRAAiRAAiRAAiRAAiRAAiRAAiRAAiRAAiRAAiRAAiRAAsoQ+D+xEPyXIaKQtgAAAABJRU5ErkJggg==" alt="Company Logo" style="max-width:300px;">
</a>
"""

html_code = """
<html>
<head>
    <link rel="stylesheet"
          href="https://cdn.datatables.net/1.13.4/css/jquery.dataTables.min.css">
    <link rel="stylesheet"
          href="https://cdn.datatables.net/fixedheader/3.2.0/css/fixedHeader.dataTables.min.css">
    <script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
    <script src="https://cdn.datatables.net/1.13.4/js/jquery.dataTables.min.js"></script>
    <script src="https://cdn.datatables.net/fixedheader/3.2.0/js/dataTables.fixedHeader.min.js"></script>
    <script>
    $(document).ready(function() {{

        $('table').each(function() {{
            var $table = $(this);

            // Clone header row for filters
            $table.find('thead tr').clone(true).appendTo($table.find('thead'));
            $table.find('thead tr:eq(1) th').each(function(i) {{
                var title = $(this).text().trim();
                $(this).html('<input type="text" placeholder="Filter ' + title + '" />');
            }});

            // Initialize DataTable
            $table.DataTable({{
                orderCellsTop: true,
                fixedHeader: true
            }});
        }});

        function toPlainText(htmlOrText) {{
            return $('<div>').html(htmlOrText).text().trim();
        }}

        function tryNumber(s) {{
            if (s === null || s === undefined) return NaN;
            s = String(s).replace(/[,\u00A0£$%]/g, '').trim();
            if (s === '') return NaN;
            var n = Number(s);
            return isNaN(n) ? NaN : n;
        }}

        // Custom filter logic
        $.fn.dataTable.ext.search.push(function(settings, data, dataIndex) {{
            var valid = true;
            var $table = $(settings.nTable);

            $table.find('thead tr:eq(1) th input').each(function(i) {{
                var val = $(this).val();
                if (!val) return;
                val = val.trim();

                var rawCell = data[i];
                var cell = toPlainText(rawCell);

                var m = val.match(/^([<>]=?|!=|=|\\^=|\\$=|~=)\\s*(.*)$/);
                if (m) {{
                    var op = m[1], rhs = m[2].trim();

                    if (op === '=')  {{ valid = valid && (cell === rhs); return; }}
                    if (op === '!=') {{ valid = valid && (cell !== rhs); return; }}
                    if (op === '^=') {{ valid = valid && cell.startsWith(rhs); return; }}
                    if (op === '$=') {{ valid = valid && cell.endsWith(rhs); return; }}
                    if (op === '~=') {{
                        try {{ valid = valid && (new RegExp(rhs)).test(cell); }}
                        catch(e) {{ valid = false; }}
                        return;
                    }}

                    var lhsNum = tryNumber(cell);
                    var rhsNum = tryNumber(rhs);
                    if (isNaN(lhsNum) || isNaN(rhsNum)) {{
                        valid = false;
                        return;
                    }}
                    if (op === '>')  valid = valid && (lhsNum > rhsNum);
                    if (op === '>=') valid = valid && (lhsNum >= rhsNum);
                    if (op === '<')  valid = valid && (lhsNum < rhsNum);
                    if (op === '<=') valid = valid && (lhsNum <= rhsNum);
                    return;
                }}

                if (cell.toLowerCase().indexOf(val.toLowerCase()) === -1) valid = false;
            }});

            return valid;
        }});

        // Redraw when filters change
        $(document).on('keyup change', 'table thead tr:eq(1) th input', function() {{
            var table = $(this).closest('table').DataTable();
            table.draw();
        }});

    }});
    </script>
    <style>
        .logo {{
            position: absolute;
            top: 20px;
            right: 20px;
            max-width: 150px;
            height: auto;
        }}

        .bar-bg {{
            position: relative;
            background: linear-gradient(to right, #4CAF50 var(--percentage), #f0f0f0 var(--percentage));
            padding: 8px 12px;
            border-radius: 4px;
        }}
    </style>
</head>
<body>
    <div class="header">
        {logo}
    </div>

    <h2>{title}</h2>
    {html_table}
</body>
</html>
"""

plot_code = """
<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>Normal Distribution Plot</title>
    <script src="https://cdn.plot.ly/plotly-latest.min.js"></script>
</head>
<body>
    <h2>Normal Distribution</h2>
    <div id="plot" style="width: 800px; height: 500px;"></div>
    <script>
        function getParams() {
            const params = {};
            window.location.search.substring(1).split("&").forEach(pair => {
                if (pair) {
                    const [key, value] = pair.split("=");
                    params[key] = parseFloat(decodeURIComponent(value));
                }
            });
            return params;
        }

        function normalPDF(x, mean, stddev) {
            return (1 / (stddev * Math.sqrt(2 * Math.PI))) *
                   Math.exp(-0.5 * Math.pow((x - mean) / stddev, 2));
        }

        let { min, max, mean, stddev } = getParams();

        if ([min, max, mean, stddev].some(v => isNaN(v))) {
            document.getElementById("plot").innerHTML = "<b>Missing or invalid parameters in URL</b>";
        } else {
            // Handle edge cases
            if (Math.abs(stddev) < 1e-8) {
                stddev = 0.01;
            }

            // Expand range for plotting
            const rangeMin = min - (Math.abs(min) * 0.1);
            const rangeMax = max + (Math.abs(max) * 0.1);
            const step = (rangeMax - rangeMin) / 200;

            const x = [];
            const y = [];

            for (let v = rangeMin; v <= rangeMax; v += step) {
                x.push(v);
                y.push(normalPDF(v, mean, stddev));
            }

            const trace = {
                x: x,
                y: y,
                type: 'scatter',
                mode: 'lines',
                name: 'Normal PDF'
            };

            Plotly.newPlot('plot', [trace], {
                title: 'Normal Distribution: μ=' + mean + ', σ=' + stddev,
                xaxis: { title: 'Value' },
                yaxis: { title: 'Probability Density' }
            });
        }
    </script>
</body>
</html>
"""



[docs] def summary_table(df): index_data = pd.DataFrame({"name": [], "total bins": [], "covered bins": [], "coverage": []}) for k, v in df.items(): # Sub-frame only of hit bins hit = v[v["count"] >= v["at_least"]] name = k.replace(".json", "") fname = f'<a href="./{name}/coverage.html">{name}</a>' total = len(v["bin"]) covered = len(hit["bin"]) coverage = np.round(np.minimum((covered / total ) * 100, 100), 2) t_pd = pd.DataFrame( { "name": [fname], "total bins": [total], "covered bins": [covered], "coverage": [coverage], } ) index_data = pd.concat([index_data, t_pd], ignore_index=True) # Convert coverage to bar chart index_data["coverage"] = index_data["coverage"].apply(lambda x: f'<div class="bar-bg" style="--percentage: {x}%;">{x}%</div>') # Create a summary table html_table = index_data.to_html( classes="display", index=False, table_id="myTable", escape=False ) return html_table
[docs] def index_and_detail_tables(df, root, directory): # Generate an index table with links to sub-tables containing the details os.makedirs(directory, exist_ok=True) index_data = pd.DataFrame({"name": [], "total bins": [], "covered bins": [], "coverage": []}) for k, v in df.items(): # Create the details page d = os.path.join(directory,k) os.makedirs(d, exist_ok=True) title = f"Coverage Details : {k}" html_table = v.to_html(classes="display", index=False, table_id="myTable", escape=False) # Save to HTML file with open(os.path.join(d, "details.html"), "w", encoding="utf-8") as html_file: html_file.write(html_code.format(logo=logo, title=title, html_table=html_table)) # Softlink for stats os.symlink(os.path.join(os.path.abspath(root), "stats.html"), os.path.join(d, "stats.html")) # Sub-frame only of hit bins hit = v[v["count"] >= v["at_least"]] name = k.replace(".json", "") fname = f'<a href="./{name}/details.html">{name}</a>' total = len(v["bin"]) covered = len(hit["bin"]) coverage = np.round(np.minimum((covered / total ) * 100, 100), 2) t_pd = pd.DataFrame( { "name": [fname], "total bins": [total], "covered bins": [covered], "coverage": [coverage], } ) index_data = pd.concat([index_data, t_pd], ignore_index=True) # Convert coverage to bar chart index_data["coverage"] = index_data["coverage"].apply(lambda x: f'<div class="bar-bg" style="--percentage: {x}%;">{x}%</div>') # Create a summary table html_table = index_data.to_html(classes="display", index=False, table_id="myTable", escape=False) with open(os.path.join(directory, "index.html"), "w", encoding="utf-8") as html_file: html_file.write(html_code.format(logo=logo, title=f"Coverage Summary : {os.path.basename(directory)}", html_table=html_table))
[docs] def main(): parser = argparse.ArgumentParser(description="Generate HTML report from JSON coverage data.") parser.add_argument( "--path", type=str, help="Path to the directory to search for coverage JSON files." ) parser.add_argument("--output", type=str, help="Output directory name.", default="html") parser.add_argument("--merge", action="store_true", help="Generate Merged coverage.") parser.add_argument("--rank", action="store_true", help="Generate Ranked coverage.") parser.add_argument("--stats", action="store_true", help="Include statistical coverage") args = parser.parse_args() # Remove old HTML directory if os.path.exists(args.output): print(f"Removing old HTML directory: {args.output}") shutil.rmtree(args.output) # Future pandas behaviour pd.set_option("future.no_silent_downcasting", True) # Create new HTML directory print(f"Creating new HTML directory: {args.output}") os.makedirs(args.output, exist_ok=True) if args.stats: with open(os.path.join(args.output, "stats.html"), "w", encoding="utf-8") as html_file: html_file.write(plot_code) # Read JSON files into DataFrames tables = {} print(f"Reading JSON files from: {args.path}") json_files = [f for f in os.listdir(args.path) if f.endswith(".json")] for f in sorted(json_files): print(f"\tReading {f}") tables[f] = pd.read_json(os.path.join(args.path, f)).fillna(0) tables[f].replace("", np.nan, inplace=True) if args.stats: for col in ["min", "max", "mean", "variance", "stddev"]: if col not in tables[f].columns: tables[f][col] = 0.0 else: tables[f][col] = tables[f][col].fillna(0.0) else: try: tables[f].drop(columns=["min", "max", "mean", "variance", "stddev"], inplace=True) except: pass # Add in percentage bar-chart tables[f]["percentage"] = np.round(np.minimum((tables[f]["count"] / tables[f]["at_least"]) * 100, 100), 2) # Add link to plot of stats tables[f]["percentage"] = tables[f].apply(create_stats_link, axis=1) # Convert to HTML with table ID cg_tables = {cg: g.drop(columns="covergroup").reset_index(drop=True) for cg, g in tables[f].groupby("covergroup")} index_and_detail_tables(cg_tables, os.path.abspath(args.output), os.path.join(args.output, f.replace(".json", ""))) # Generate index.html index_data = pd.DataFrame({"name": [], "total bins": [], "covered bins": [], "coverage": []}) for k, v in tables.items(): # Sub-frame only of hit bins hit = v[v["count"] >= v["at_least"]] name = k.replace(".json", "") fname = f'<a href="./{name}/index.html">{name}</a>' total = len(v["bin"]) covered = len(hit["bin"]) coverage = np.round(np.minimum((covered / total ) * 100, 100), 2) t_pd = pd.DataFrame( { "name": [fname], "total bins": [total], "covered bins": [covered], "coverage": [coverage], } ) index_data = pd.concat([index_data, t_pd], ignore_index=True) # Convert coverage to bar chart index_data["coverage"] = index_data["coverage"].apply(lambda x: f'<div class="bar-bg" style="--percentage: {x}%;">{x}%</div>') # Create a summary table html_table = index_data.to_html( classes="display", index=False, table_id="myTable", escape=False ) # Generate merged coverage if requested if args.merge: def compute_group(group): total_count = group["count"].sum() return pd.Series({"count": total_count}) def compute_group_stats(group): total_count = group["count"].sum() weighted_mean = (group["mean"] * group["count"]).sum() / total_count if total_count > 0.0 else 0.0 var_contrib = group["count"] * (group["variance"] + (group["mean"] - weighted_mean) ** 2) if total_count > 0.0 else 0.0 overall_variance = var_contrib.sum() / total_count if total_count > 0.0 else 0.0 overall_stddev = np.sqrt(overall_variance) if total_count > 0.0 else 0.0 minimum = group["min"].min() maximum = group["max"].max() return pd.Series({ "count": total_count, "min" : minimum, "max" : maximum, "mean": weighted_mean, "variance": overall_variance, "stddev": overall_stddev, }) print("Generating merged coverage report") merged_data = pd.concat(tables.values(), ignore_index=True) if args.stats: merged_data = merged_data.groupby(["covergroup", "name", "bin", "at_least"], as_index=False).apply(compute_group_stats, include_groups=False) else: merged_data = merged_data.groupby(["covergroup", "name", "bin", "at_least"], as_index=False).apply(compute_group, include_groups=False) # Add in percentage bar-chart merged_data["percentage"] = np.round(np.minimum((merged_data["count"] / merged_data["at_least"]) * 100, 100), 2) # Add link to plot of stats merged_data["percentage"] = merged_data.apply(create_stats_link, axis=1) # Create the report cg_tables = {cg: g.drop(columns="covergroup").reset_index(drop=True) for cg, g in merged_data.groupby("covergroup")} index_and_detail_tables(cg_tables, os.path.abspath(args.output), os.path.join(args.output, "merged")) # Add merged coverage to index.html t_pd = pd.DataFrame( { "name": ['<a href="./merged/index.html">Merged Coverage</a>'], "total bins": [len(merged_data["bin"])], "covered bins": [ len(merged_data[merged_data["count"] >= merged_data["at_least"]]["bin"]) ], "coverage": [ np.round( np.minimum( len(merged_data[merged_data["count"] >= merged_data["at_least"]]["bin"]) / len(merged_data["bin"]) * 100, 100 ), 2) ], } ) t_pd["coverage"] = t_pd["coverage"].apply(lambda x: f'<div class="bar-bg" style="--percentage: {x}%;">{x}%</div>') html_table += f""" <h2>Merged Coverage Report</h2> {t_pd.to_html(classes="display", index=False, table_id="mergedTable", escape=False)} """ # Generate ranked coverage if requested if args.rank: print("Generating ranked coverage report") filtered = {} ranked = pd.DataFrame({"covergroup": [], "name": [], "bin": [], "contributor": []}) for k, v in tables.items(): filtered_rows = v[v["count"] >= v["at_least"]] if not filtered_rows.empty: t_pd = filtered_rows[["covergroup", "name", "bin"]].copy() t_pd["contributor"] = k ranked = pd.concat([ranked, t_pd], ignore_index=True) ranked = ranked.groupby(["covergroup", "name", "bin"], as_index=False)["contributor"].agg( list ) with open( os.path.join(args.output, "contributors.html"), "w", encoding="utf-8" ) as html_file: html_file.write( html_code.format( logo=logo, title="Merged Coverage Report (By Contributor)", html_table=ranked.to_html( classes="display", index=False, table_id="myTable", escape=False ), ) ) # Walk over the json files again to get the count scores = [] for k in tables.keys(): scores.append([k, 0, 0, 0, 0]) for row in ranked.iterrows(): if k in row[1]["contributor"]: scores[-1][4] += 1 if len(row[1]["contributor"]) == 1: scores[-1][1] += 1000 scores[-1][2] += 1 elif len(row[1]["contributor"]) < 10: scores[-1][1] += 10 scores[-1][3] += 1 else: scores[-1][1] += 1 scores.sort(key=lambda x: x[1], reverse=True) t_pd = pd.DataFrame( scores, columns=["name", "score", "unique rows", "rare rows", "total rows"] ) with open(os.path.join(args.output, "ranked.html"), "w", encoding="utf-8") as html_file: html_file.write( html_code.format( logo=logo, title="Ranked Coverage Report", html_table=t_pd.to_html( classes="display", index=False, table_id="myTable", escape=False ), ) ) html_table += """ <h2>Ranked Coverage Report</h2> <ul> <li><a href="ranked.html">Ranked Coverage</a></li> <li><a href="contributors.html">Merged Coverage (By Contributor)</a></li> </ul> """ # Save index.html with open(os.path.join(args.output, "index.html"), "w", encoding="utf-8") as html_file: html_file.write(html_code.format(logo=logo, title="Coverage Report", html_table=html_table))
if __name__ == "__main__": main()