diff options
author | Alex White <alex.white@oarcorp.com> | 2021-02-25 10:35:39 -0600 |
---|---|---|
committer | Joel Sherrill <joel@rtems.org> | 2021-03-30 13:15:58 -0500 |
commit | 4aabd9bbf742f04a53331064dc0692b91d4d3a6c (patch) | |
tree | 09846f0dcf54fdfd69af43b5685b8b3e0ddd8d21 /tester/covoar/ReportsBase.cc | |
parent | covoar: Handle periods in symbols from objdump (diff) | |
download | rtems-tools-4aabd9bbf742f04a53331064dc0692b91d4d3a6c.tar.bz2 |
covoar/reports: Add new statistics to summary
The following new statistics have been added to the summary report:
number of unreferenced symbols, total branch paths found, number of
branch paths not executed, and percentage of branch paths covered.
Diffstat (limited to 'tester/covoar/ReportsBase.cc')
-rw-r--r-- | tester/covoar/ReportsBase.cc | 46 |
1 files changed, 38 insertions, 8 deletions
diff --git a/tester/covoar/ReportsBase.cc b/tester/covoar/ReportsBase.cc index 0244601..0be5567 100644 --- a/tester/covoar/ReportsBase.cc +++ b/tester/covoar/ReportsBase.cc @@ -441,6 +441,7 @@ void ReportsBase::WriteSummaryReport( Coverage::DesiredSymbols::symbolSet_t::iterator itr; uint32_t notExecuted = 0; double percentage; + double percentageBranches; Coverage::CoverageMapBase* theCoverageMap; uint32_t totalBytes = 0; FILE* report; @@ -475,13 +476,26 @@ void ReportsBase::WriteSummaryReport( percentage /= (double) totalBytes; percentage *= 100.0; - fprintf( report, "Bytes Analyzed : %d\n", totalBytes ); - fprintf( report, "Bytes Not Executed : %d\n", notExecuted ); - fprintf( report, "Percentage Executed : %5.4g\n", 100.0 - percentage ); - fprintf( report, "Percentage Not Executed : %5.4g\n", percentage ); + percentageBranches = (double) ( + SymbolsToAnalyze->getNumberBranchesAlwaysTaken() + + SymbolsToAnalyze->getNumberBranchesNeverTaken() + + (SymbolsToAnalyze->getNumberBranchesNotExecuted() * 2) + ); + percentageBranches /= (double) SymbolsToAnalyze->getNumberBranchesFound() * 2; + percentageBranches *= 100.0; + + fprintf( report, "Bytes Analyzed : %d\n", totalBytes ); + fprintf( report, "Bytes Not Executed : %d\n", notExecuted ); + fprintf( report, "Percentage Executed : %5.4g\n", 100.0 - percentage ); + fprintf( report, "Percentage Not Executed : %5.4g\n", percentage ); fprintf( report, - "Uncovered ranges found : %d\n", + "Unreferenced Symbols : %d\n", + SymbolsToAnalyze->getNumberUnreferencedSymbols() + ); + fprintf( + report, + "Uncovered ranges found : %d\n\n", SymbolsToAnalyze->getNumberUncoveredRanges() ); if ((SymbolsToAnalyze->getNumberBranchesFound() == 0) || @@ -490,14 +504,20 @@ void ReportsBase::WriteSummaryReport( } else { fprintf( report, - "Total branches found : %d\n", + "Total conditional branches found : %d\n", SymbolsToAnalyze->getNumberBranchesFound() ); fprintf( report, - "Uncovered branches found : %d\n", + "Total branch paths found : %d\n", + SymbolsToAnalyze->getNumberBranchesFound() * 2 + ); + fprintf( + report, + "Uncovered branch paths found : %d\n", SymbolsToAnalyze->getNumberBranchesAlwaysTaken() + - SymbolsToAnalyze->getNumberBranchesNeverTaken() + SymbolsToAnalyze->getNumberBranchesNeverTaken() + + (SymbolsToAnalyze->getNumberBranchesNotExecuted() * 2) ); fprintf( report, @@ -509,6 +529,16 @@ void ReportsBase::WriteSummaryReport( " %d branches never taken\n", SymbolsToAnalyze->getNumberBranchesNeverTaken() ); + fprintf( + report, + " %d branch paths not executed\n", + SymbolsToAnalyze->getNumberBranchesNotExecuted() * 2 + ); + fprintf( + report, + "Percentage branch paths covered : %4.4g\n", + 100.0 - percentageBranches + ); } } |