Skip to content

Commit

Permalink
[sancov] fix coverage-report-server cannot display coverage detail
Browse files Browse the repository at this point in the history
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 python/cpython#93879, it will be handled as `/{name}` now.

So I want to use a prefix to avoid double slashes issue.

Differential Revision: https://reviews.llvm.org/D146010
  • Loading branch information
HerrCai0907 committed Mar 19, 2023
1 parent e6cc0fa commit fb066c4
Showing 1 changed file with 5 additions and 2 deletions.
7 changes: 5 additions & 2 deletions llvm/tools/sancov/coverage-report-server.py
Original file line number Diff line number Diff line change
Expand Up @@ -71,6 +71,8 @@
</html>
"""

FILE_URI_PREFIX = "/file/"

class SymcovData:
def __init__(self, symcov_json):
self.covered_points = frozenset(symcov_json['covered-points'])
Expand Down Expand Up @@ -129,7 +131,7 @@ class ServerHandler(http.server.BaseHTTPRequestHandler):
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")
Expand All @@ -141,8 +143,9 @@ def do_GET(self):
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)))

Expand Down

0 comments on commit fb066c4

Please sign in to comment.