[PATCH] D30370: [sancov] better input parameters validation
Mike Aizatsky via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Fri Mar 3 10:34:22 PST 2017
This revision was automatically updated to reflect the committed changes.
Closed by commit rL296900: [sancov] better input parameters validation (authored by aizatsky).
Changed prior to commit:
https://reviews.llvm.org/D30370?vs=89768&id=90509#toc
Repository:
rL LLVM
https://reviews.llvm.org/D30370
Files:
llvm/trunk/test/tools/sancov/AArch64/print_coverage_pcs.test
llvm/trunk/test/tools/sancov/validation.test
llvm/trunk/tools/sancov/sancov.cc
Index: llvm/trunk/test/tools/sancov/validation.test
===================================================================
--- llvm/trunk/test/tools/sancov/validation.test
+++ llvm/trunk/test/tools/sancov/validation.test
@@ -0,0 +1,6 @@
+REQUIRES: x86_64-linux
+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
+NOCFILE: ERROR: No valid coverage files given.
+
Index: llvm/trunk/test/tools/sancov/AArch64/print_coverage_pcs.test
===================================================================
--- llvm/trunk/test/tools/sancov/AArch64/print_coverage_pcs.test
+++ llvm/trunk/test/tools/sancov/AArch64/print_coverage_pcs.test
@@ -1,4 +1,4 @@
REQUIRES: aarch64-registered-target
RUN: not sancov -print-coverage-pcs %p/../Inputs/test-linux_android_aarch64 2>&1 | FileCheck %s --check-prefix=AARCH64
-AARCH64: Error: __sanitizer_cov* functions not found
+AARCH64: ERROR: __sanitizer_cov* functions not found
Index: llvm/trunk/tools/sancov/sancov.cc
===================================================================
--- llvm/trunk/tools/sancov/sancov.cc
+++ llvm/trunk/tools/sancov/sancov.cc
@@ -180,7 +180,7 @@
// --------- ERROR HANDLING ---------
static void fail(const llvm::Twine &E) {
- errs() << "Error: " << E << "\n";
+ errs() << "ERROR: " << E << "\n";
exit(1);
}
@@ -192,7 +192,7 @@
static void failIfError(std::error_code Error) {
if (!Error)
return;
- errs() << "Error: " << Error.message() << "(" << Error.value() << ")\n";
+ errs() << "ERROR: " << Error.message() << "(" << Error.value() << ")\n";
exit(1);
}
@@ -202,7 +202,7 @@
static void failIfError(Error Err) {
if (Err) {
- logAllUnhandledErrors(std::move(Err), errs(), "Error: ");
+ logAllUnhandledErrors(std::move(Err), errs(), "ERROR: ");
exit(1);
}
}
@@ -1086,6 +1086,9 @@
static std::unique_ptr<SymbolizedCoverage>
merge(const std::vector<std::unique_ptr<SymbolizedCoverage>> &Coverages) {
+ if (Coverages.empty())
+ return nullptr;
+
auto Result = make_unique<SymbolizedCoverage>();
for (size_t I = 0; I < Coverages.size(); ++I) {
@@ -1168,11 +1171,17 @@
CoverageByObjFile[Iter->second].push_back(FileName);
};
+ for (const auto &Pair : ObjFiles) {
+ auto FileName = Pair.second;
+ if (CoverageByObjFile.find(FileName) == CoverageByObjFile.end())
+ errs() << "WARNING: No coverage file for " << FileName << "\n";
+ }
+
// Read raw coverage and symbolize it.
for (const auto &Pair : CoverageByObjFile) {
if (findSanitizerCovFunctions(Pair.first).empty()) {
errs()
- << "Ignoring " << Pair.first
+ << "WARNING: Ignoring " << Pair.first
<< " and its coverage because __sanitizer_cov* functions were not "
"found.\n";
continue;
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D30370.90509.patch
Type: text/x-patch
Size: 2913 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20170303/5cd074c2/attachment.bin>
More information about the llvm-commits
mailing list