[dv regr tool] Publish results in html + fixes
- In this PR, the results published to the results server is switched
over from markdown to html directly.
- Uploaded results reuse the same css style that is already uploaded to
`reports.opentitan.org/css/style.css`
- This is just an elementary styling - enough to get the results look
presentable.
In addition, there are few more updates:
- The history of past regressions are embedded as a section in the
latest results as opposed to being copied over to a separate
history.html
- All DV plan documents are updated to reflect the latest regression
results page correctly
- The results page now also provides a link back to the testplan for
ease of cross referencing the test points in the table.
Signed-off-by: Srikrishna Iyer <sriyer@google.com>
diff --git a/util/dvsim/SimCfg.py b/util/dvsim/SimCfg.py
index afd3084..6001c43 100644
--- a/util/dvsim/SimCfg.py
+++ b/util/dvsim/SimCfg.py
@@ -143,6 +143,7 @@
def __post_init__(self):
# Run some post init checks
super().__post_init__()
+ self.results_title = self.name.upper() + " Simulation Results"
@staticmethod
def create_instance(flow_cfg_file, proj_root, args):
@@ -400,9 +401,14 @@
fail_msgs = "\n## List of Failures\n" + fail_msgs
# Generate results table for runs.
- results_str = "# " + self.name.upper() + " Regression Results\n"
- results_str += " Run on " + self.timestamp_long + "\n"
- results_str += "\n## Test Results\n"
+ results_str = "## " + self.results_title + "\n"
+ results_str += "### " + self.timestamp_long + "\n"
+
+ # Add path to testplan.
+ testplan = "https://" + self.doc_server + '/' + self.rel_path
+ testplan = testplan.replace("/dv", "/doc/dv_plan/#testplan")
+ results_str += "### [Testplan](" + testplan + ")\n\n"
+
# TODO: check if testplan is not null?
results_str += self.testplan.results_table(
regr_results=regr_results,
@@ -413,7 +419,7 @@
self.results_md = results_str + fail_msgs
# Write results to the scratch area
- self.results_file = self.scratch_path + "/regr_results_" + self.timestamp + ".md"
+ self.results_file = self.scratch_path + "/results_" + self.timestamp + ".md"
log.info("Detailed results are available at %s", self.results_file)
f = open(self.results_file, 'w')
f.write(self.results_md)