]> granicus.if.org Git - llvm/commitdiff
[llvm-cov] Error-out when an unsupported format is used (PR32087)
authorVedant Kumar <vsk@apple.com>
Tue, 28 Feb 2017 16:57:28 +0000 (16:57 +0000)
committerVedant Kumar <vsk@apple.com>
Tue, 28 Feb 2017 16:57:28 +0000 (16:57 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@296487 91177308-0d34-0410-b5e6-96231b3b80d8

test/tools/llvm-cov/warnings.h
tools/llvm-cov/CodeCoverage.cpp

index 0517b6a7c875f02a647025b0c2a70c3dcadb6cba..a06e02f92d56e3d674ed9ebfec5ff69506daebf7 100644 (file)
@@ -1,5 +1,7 @@
 // RUN: llvm-cov show %S/Inputs/prevent_false_instantiations.covmapping -instr-profile %S/Inputs/elf_binary_comdat.profdata -filename-equivalence /dev/null | FileCheck %s -allow-empty -check-prefix=FAKE-FILE-STDOUT
 // RUN: llvm-cov show %S/Inputs/prevent_false_instantiations.covmapping -instr-profile %S/Inputs/elf_binary_comdat.profdata -filename-equivalence /dev/null 2>&1 | FileCheck %s -check-prefix=FAKE-FILE-STDERR
+// RUN: not llvm-cov report %S/Inputs/prevent_false_instantiations.covmapping -instr-profile %S/Inputs/elf_binary_comdat.profdata -format=html
+// RUN: not llvm-cov export %S/Inputs/prevent_false_instantiations.covmapping -instr-profile %S/Inputs/elf_binary_comdat.profdata -format=html
 
 // FAKE-FILE-STDOUT-NOT: warning: The file '{{.*}}' isn't covered.
 // FAKE-FILE-STDERR: warning: The file '{{.*}}' isn't covered.
index 781d1948ccd02211702b190ba403a83fa4931159..6179c760d5b20b40496e8b0dffdb5cea92a6c754 100644 (file)
@@ -818,8 +818,10 @@ int CodeCoverageTool::report(int argc, const char **argv,
   if (Err)
     return Err;
 
-  if (ViewOpts.Format == CoverageViewOptions::OutputFormat::HTML)
+  if (ViewOpts.Format == CoverageViewOptions::OutputFormat::HTML) {
     error("HTML output for summary reports is not yet supported.");
+    return 1;
+  }
 
   auto Coverage = load();
   if (!Coverage)
@@ -840,6 +842,11 @@ int CodeCoverageTool::export_(int argc, const char **argv,
   if (Err)
     return Err;
 
+  if (ViewOpts.Format != CoverageViewOptions::OutputFormat::Text) {
+    error("Coverage data can only be exported as textual JSON.");
+    return 1;
+  }
+
   auto Coverage = load();
   if (!Coverage) {
     error("Could not load coverage information");