[llvm] r292468 - [sancov] applying blacklist to covered points too

Mike Aizatsky via llvm-commits llvm-commits at lists.llvm.org
Wed Jan 18 19:49:19 PST 2017


Author: aizatsky
Date: Wed Jan 18 21:49:18 2017
New Revision: 292468

URL: http://llvm.org/viewvc/llvm-project?rev=292468&view=rev
Log:
[sancov] applying blacklist to covered points too

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

Modified:
    llvm/trunk/test/tools/sancov/Inputs/src_blacklist.txt
    llvm/trunk/test/tools/sancov/blacklist.test
    llvm/trunk/tools/sancov/sancov.cc

Modified: llvm/trunk/test/tools/sancov/Inputs/src_blacklist.txt
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/tools/sancov/Inputs/src_blacklist.txt?rev=292468&r1=292467&r2=292468&view=diff
==============================================================================
--- llvm/trunk/test/tools/sancov/Inputs/src_blacklist.txt (original)
+++ llvm/trunk/test/tools/sancov/Inputs/src_blacklist.txt Wed Jan 18 21:49:18 2017
@@ -1,3 +1,3 @@
 # this path looks like sancov/Inputs/../Inputs/ in the binary. 
 # Make sure it is filtered out correctly.
-src:*/sancov/Inputs/foo.cpp
+src:*/sancov/Inputs/test.cpp

Modified: llvm/trunk/test/tools/sancov/blacklist.test
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/tools/sancov/blacklist.test?rev=292468&r1=292467&r2=292468&view=diff
==============================================================================
--- llvm/trunk/test/tools/sancov/blacklist.test (original)
+++ llvm/trunk/test/tools/sancov/blacklist.test Wed Jan 18 21:49:18 2017
@@ -1,10 +1,26 @@
 REQUIRES: x86_64-linux
+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
+RUN: sancov -print-coverage-stats %p/Inputs/test-linux_x86_64 %p/Inputs/test-linux_x86_64.1.sancov | FileCheck --check-prefix=STATS %s
+RUN: sancov -print-coverage-stats -blacklist %p/Inputs/fun_blacklist.txt %p/Inputs/test-linux_x86_64 %p/Inputs/test-linux_x86_64.1.sancov | FileCheck --check-prefix=STATS-BLIST %s
 
-CHECK-NOT: Inputs{{[/\\]}}test.cpp:12 bar(std::string)
-CHECK: Inputs{{[/\\]}}test.cpp:14 main
+ALL: test.cpp:12 bar(std::string)
+ALL: test.cpp:14 main
+
+CHECK-NOT: test.cpp:12 bar(std::string)
+CHECK: test.cpp:14 main
+
+CHECK1-NOT: test.cpp:12 bar(std::string)
+CHECK1-NOT: test.cpp:14 main
+
+STATS: all-edges: 9
+STATS: cov-edges: 7
+STATS: all-functions: 3
+STATS: cov-functions: 3
+
+STATS-BLIST: all-edges: 8
+STATS-BLIST: cov-edges: 6
+STATS-BLIST: all-functions: 2
+STATS-BLIST: cov-functions: 2
 
-CHECK1-NOT: foo
-CHECK1: Inputs{{[/\\]}}test.cpp:12 bar(std::string)
-CHECK1: Inputs{{[/\\]}}test.cpp:14 main

Modified: llvm/trunk/tools/sancov/sancov.cc
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/tools/sancov/sancov.cc?rev=292468&r1=292467&r2=292468&view=diff
==============================================================================
--- llvm/trunk/tools/sancov/sancov.cc (original)
+++ llvm/trunk/tools/sancov/sancov.cc Wed Jan 18 21:49:18 2017
@@ -946,7 +946,15 @@ symbolize(const RawCoverage &Data, const
   Hasher.update((*BufOrErr)->getBuffer());
   Coverage->BinaryHash = toHex(Hasher.final());
 
+  Blacklists B;
+  auto Symbolizer(createSymbolizer());
+
   for (uint64_t Addr : *Data.Addrs) {
+    auto LineInfo = Symbolizer->symbolizeCode(ObjectFile, Addr);
+    failIfError(LineInfo);
+    if (B.isBlacklisted(*LineInfo))
+      continue;
+
     Coverage->CoveredIds.insert(utohexstr(Addr, true));
   }
 




More information about the llvm-commits mailing list