From: Congcong Cai Date: Sun, 19 Mar 2023 13:08:37 +0000 (+0800) Subject: [sancov] fix coverage-report-server cannot display coverage detail X-Git-Tag: upstream/17.0.6~14335 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=fb066c4622c8665612961cc74d2715ff32943272;p=platform%2Fupstream%2Fllvm.git [sancov] fix coverage-report-server cannot display coverage detail 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. Differential Revision: https://reviews.llvm.org/D146010 --- diff --git a/llvm/tools/sancov/coverage-report-server.py b/llvm/tools/sancov/coverage-report-server.py index 5ea978f..4c666db 100755 --- a/llvm/tools/sancov/coverage-report-server.py +++ b/llvm/tools/sancov/coverage-report-server.py @@ -71,6 +71,8 @@ $content """ +FILE_URI_PREFIX = "/file/" + class SymcovData: def __init__(self, symcov_json): self.covered_points = frozenset(symcov_json['covered-points']) @@ -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") @@ -141,8 +143,9 @@ class ServerHandler(http.server.BaseHTTPRequestHandler): if not file_coverage: continue filelist.append( - "{name}" + "{name}" "{coverage}%".format( + prefix=FILE_URI_PREFIX, name=html.escape(filename, quote=True), coverage=format_pct(file_coverage)))