[PATCH] D146010: [sancov] fix coverage-report-server cannot display coverage detail
Congcong Cai via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Mon Mar 13 23:34:08 PDT 2023
HerrCai0907 created this revision.
HerrCai0907 added a reviewer: vitalybuka.
Herald added a project: All.
HerrCai0907 requested review of this revision.
Herald added a project: LLVM.
Herald added a subscriber: llvm-commits.
This patch make following change for coverage-report-server.py
- using uri `./{name}` from root in the old version python http.server can be handled as `//{name}`. But due to https://github.com/python/cpython/pull/93879, it will be handled as `/{name}` now.
So I want to use a prefix to avoid double slashes issue.
Repository:
rG LLVM Github Monorepo
https://reviews.llvm.org/D146010
Files:
llvm/tools/sancov/coverage-report-server.py
Index: llvm/tools/sancov/coverage-report-server.py
===================================================================
--- llvm/tools/sancov/coverage-report-server.py
+++ llvm/tools/sancov/coverage-report-server.py
@@ -71,6 +71,8 @@
</html>
"""
+FILE_URI_PREFIX = "/file/"
+
class SymcovData:
def __init__(self, symcov_json):
self.covered_points = frozenset(symcov_json['covered-points'])
@@ -129,7 +131,7 @@
src_path = None
def do_GET(self):
- norm_path = os.path.normpath(urllib.parse.unquote(self.path[1:]))
+ norm_path = os.path.normpath(urllib.parse.unquote(self.path[len(FILE_URI_PREFIX):]))
if self.path == '/':
self.send_response(200)
self.send_header("Content-type", "text/html; charset=utf-8")
@@ -141,8 +143,9 @@
if not file_coverage:
continue
filelist.append(
- "<tr><td><a href=\"./{name}\">{name}</a></td>"
+ "<tr><td><a href=\"{prefix}{name}\">{name}</a></td>"
"<td>{coverage}%</td></tr>".format(
+ prefix=FILE_URI_PREFIX,
name=html.escape(filename, quote=True),
coverage=format_pct(file_coverage)))
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D146010.504951.patch
Type: text/x-patch
Size: 1309 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20230314/69fde0c1/attachment.bin>
More information about the llvm-commits
mailing list