[sancov] Accommodate sancov and coverage report server for use under Windows

Summary:
This patch makes the following changes to SanCov and its complementary Python script in order to resolve issues pertaining to non-UNIX file paths in JSON symbolization information:
* Convert all paths to use forward slash.
* Update `coverage-report-server.py` to correctly handle paths to sources which contain spaces.
* Remove Linux platform restriction for all SanCov unit tests. All SanCov tests passed when ran on my local Windows machine.

Patch by Douglas Gliner.

Reviewers: kcc, filcab, phosek, morehouse, vitalybuka, metzman

Reviewed By: vitalybuka

Subscribers: vsk, Dor1s, llvm-commits

Tags: #sanitizers, #llvm

Differential Revision: https://reviews.llvm.org/D51018

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@374629 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Vitaly Buka
2019-10-12 02:29:26 +00:00
parent 6dcc8f11e9
commit d8a8b4bb7c
11 changed files with 18 additions and 14 deletions
+1 -1
View File
@@ -1,4 +1,4 @@
REQUIRES: x86_64-linux
REQUIRES: x86-registered-target
RUN: sancov -covered-functions %p/Inputs/test-linux_x86_64 %p/Inputs/test-linux_x86_64.0.sancov | FileCheck %s --check-prefix=ALL
RUN: sancov -covered-functions -blacklist %p/Inputs/fun_blacklist.txt %p/Inputs/test-linux_x86_64 %p/Inputs/test-linux_x86_64.0.sancov | FileCheck %s
RUN: sancov -covered-functions -blacklist %p/Inputs/src_blacklist.txt %p/Inputs/test-linux_x86_64 %p/Inputs/test-linux_x86_64.1.sancov | FileCheck --check-prefix=CHECK1 %s
+1 -1
View File
@@ -1,4 +1,4 @@
REQUIRES: x86_64-linux
REQUIRES: x86-registered-target
RUN: sancov -covered-functions %p/Inputs/test-linux_x86_64 %p/Inputs/test-linux_x86_64.0.sancov | FileCheck %s
RUN: sancov -covered-functions -strip_path_prefix=Inputs/ %p/Inputs/test-linux_x86_64 %p/Inputs/test-linux_x86_64.0.sancov | FileCheck --check-prefix=STRIP_PATH %s
RUN: sancov -demangle=0 -covered-functions %p/Inputs/test-linux_x86_64 %p/Inputs/test-linux_x86_64.0.sancov | FileCheck --check-prefix=NO_DEMANGLE %s
+1 -1
View File
@@ -1,4 +1,4 @@
REQUIRES: x86_64-linux
REQUIRES: x86-registered-target
RUN: sancov -merge %p/Inputs/test-linux_x86_64.0.symcov| FileCheck --check-prefix=MERGE1 %s
RUN: sancov -merge %p/Inputs/test-linux_x86_64.0.symcov %p/Inputs/test-linux_x86_64.1.symcov| FileCheck --check-prefix=MERGE2 %s
+1 -1
View File
@@ -1,4 +1,4 @@
REQUIRES: x86_64-linux
REQUIRES: x86-registered-target
RUN: sancov -skip-dead-files=0 -not-covered-functions %p/Inputs/test-linux_x86_64 %p/Inputs/test-linux_x86_64.0.sancov | FileCheck %s
RUN: sancov -not-covered-functions %p/Inputs/test-linux_x86_64 %p/Inputs/test-linux_x86_64.1.sancov | FileCheck --check-prefix=CHECK1 --allow-empty %s
+1 -1
View File
@@ -1,4 +1,4 @@
REQUIRES: x86_64-linux
REQUIRES: x86-registered-target
RUN: sancov -print %p/Inputs/test-linux_x86_64.0.sancov | FileCheck %s
CHECK: 0x4e132b
+1 -1
View File
@@ -1,4 +1,4 @@
REQUIRES: x86_64-linux
REQUIRES: x86-registered-target
RUN: sancov -print-coverage-stats %p/Inputs/test-linux_x86_64 %p/Inputs/test-linux_x86_64.0.sancov | FileCheck %s
CHECK: all-edges: 8
+5 -3
View File
@@ -1,5 +1,6 @@
REQUIRES: x86_64-linux
RUN: sancov -symbolize -strip_path_prefix="llvm/" %p/Inputs/test-linux_x86_64 %p/Inputs/test-linux_x86_64.0.sancov | FileCheck %s
REQUIRES: x86-registered-target
RUN: sancov -symbolize -strip_path_prefix="llvm/" %p/Inputs/test-linux_x86_64 %p/Inputs/test-linux_x86_64.0.sancov | FileCheck %s --check-prefixes=CHECK,STRIP
RUN: sancov -symbolize %p/Inputs/test-linux_x86_64 %p/Inputs/test-linux_x86_64.0.sancov | FileCheck %s --check-prefixes=CHECK,NOSTRIP
CHECK: {
CHECK-NEXT: "covered-points": [
@@ -11,7 +12,8 @@ CHECK-NEXT: "4e1586"
CHECK-NEXT: ],
CHECK-NEXT: "binary-hash": "BB3CDD5045AED83906F6ADCC1C4DAF7E2596A6B5",
CHECK-NEXT: "point-symbol-info": {
CHECK-NEXT: "test/tools/sancov/Inputs/test.cpp": {
STRIP-NEXT: "test/tools/sancov/Inputs/test.cpp": {
NOSTRIP-NEXT: "/usr/local/google/home/aizatsky/src/llvm/test/tools/sancov/Inputs/test.cpp": {
CHECK-NEXT: "bar(std::string)": {
CHECK-NEXT: "4e132b": "12:0"
CHECK-NEXT: },
@@ -1,4 +1,4 @@
REQUIRES: x86_64-linux
REQUIRES: x86-registered-target
RUN: sancov -symbolize -skip-dead-files=0 -strip_path_prefix="llvm/" %p/Inputs/test-linux_x86_64 %p/Inputs/test-linux_x86_64.0.sancov | FileCheck %s
CHECK: {
+1 -1
View File
@@ -1,4 +1,4 @@
REQUIRES: x86_64-linux
REQUIRES: x86-registered-target
RUN: not sancov -covered-functions %p/Inputs/test-linux_x86_64 2>&1 | FileCheck --check-prefix=NOCFILE %s
NOCFILE: WARNING: No coverage file for {{.*}}test-linux_x86_64