summaryrefslogtreecommitdiffstats
path: root/tester/covoar/covoar.cc
diff options
context:
space:
mode:
authorAlex White <alex.white@oarcorp.com>2021-04-02 16:21:43 -0500
committerJoel Sherrill <joel@rtems.org>2021-04-06 14:18:55 -0500
commitb02600a6bbc4d0524b731e504c91bc293d70a354 (patch)
tree3a3156d9013552231fd89ddc203dda3032b7def0 /tester/covoar/covoar.cc
parentcovoar: Fix off-by-one in Coverage::finalizeSymbol() (diff)
downloadrtems-tools-b02600a6bbc4d0524b731e504c91bc293d70a354.tar.bz2
covoar: Split symbols by symbol set
This changes the way covoar organizes the symbols. Instead of treating all symbols as one set, covoar is now aware of multiple symbol sets and tracks statistics for each set. It now also generates reports for each symbol set. This change relieves the caller of covoar of the reponsibility of managing the symbol sets. As a result, covoar can minimize the work done for each symbol set, yielding a significant speedup. Updates #4374
Diffstat (limited to 'tester/covoar/covoar.cc')
-rw-r--r--tester/covoar/covoar.cc6
1 files changed, 4 insertions, 2 deletions
diff --git a/tester/covoar/covoar.cc b/tester/covoar/covoar.cc
index 84d883a..8d63132 100644
--- a/tester/covoar/covoar.cc
+++ b/tester/covoar/covoar.cc
@@ -350,7 +350,7 @@ int covoar(
throw rld::error( "executables and coverage name size mismatch", "covoar" );
if ( Verbose )
- std::cerr << "Analyzing " << SymbolsToAnalyze->set.size()
+ std::cerr << "Analyzing " << SymbolsToAnalyze->allSymbols().size()
<< " symbols" << std::endl;
// Create explanations.
@@ -473,7 +473,9 @@ int covoar(
if (Verbose)
std::cerr << "Generate Reports" << std::endl;
- Coverage::GenerateReports();
+ for (const auto& setName : SymbolsToAnalyze->getSetNames()) {
+ Coverage::GenerateReports(setName);
+ }
// Write explanations that were not found.
if ( explanations ) {