summaryrefslogtreecommitdiffstats
path: root/tester/covoar/ReportsHtml.cc
diff options
context:
space:
mode:
Diffstat (limited to 'tester/covoar/ReportsHtml.cc')
-rw-r--r--tester/covoar/ReportsHtml.cc159
1 files changed, 88 insertions, 71 deletions
diff --git a/tester/covoar/ReportsHtml.cc b/tester/covoar/ReportsHtml.cc
index ebc6ee0..cce0a4f 100644
--- a/tester/covoar/ReportsHtml.cc
+++ b/tester/covoar/ReportsHtml.cc
@@ -89,7 +89,7 @@ namespace Coverage {
PRINT_ITEM( "Branch Report", "branch" );
PRINT_ITEM( "Annotated Assembly", "annotated" );
PRINT_ITEM( "Symbol Summary", "symbolSummary" );
- PRINT_ITEM( "Size Report", "sizes" );
+ PRINT_ITEM( "Uncovered Range Size Report", "sizes" );
PRINT_TEXT_ITEM( "Explanations Not Found", "ExplanationsNotFound.txt" );
@@ -176,7 +176,7 @@ namespace Coverage {
// Put header information into the file
fprintf(
aFile,
- "<title>Branch Report</title\n"
+ "<title>Branch Report</title>\n"
"<div class=\"heading-title\">"
);
@@ -321,7 +321,7 @@ namespace Coverage {
// Put header information into the file
fprintf(
aFile,
- "<title>Size Report</title>\n"
+ "<title>Uncovered Range Size Report</title>\n"
"<div class=\"heading-title\">"
);
@@ -334,7 +334,7 @@ namespace Coverage {
fprintf(
aFile,
- "Size Report</div>\n"
+ "Uncovered Range Size Report</div>\n"
"<div class =\"datetime\">%s</div>\n"
"<body>\n"
"<table class=\"covoar table-autosort:0 table-autofilter table-stripeclass:covoar-tr-odd"
@@ -490,7 +490,7 @@ namespace Coverage {
FILE* report
)
{
- if ( BranchInfoAvailable )
+ if (BranchInfoAvailable && SymbolsToAnalyze->getNumberBranchesFound() != 0)
fprintf( report, "All branch paths taken.\n" );
else
fprintf( report, "No branch information found.\n" );
@@ -861,90 +861,107 @@ namespace Coverage {
symbol->first.c_str()
);
- // Total Size in Bytes
- fprintf(
- report,
- "<td class=\"covoar-td\" align=\"center\">%d</td>\n",
- symbol->second.stats.sizeInBytes
- );
-
- // Total Size in Instructions
- fprintf(
- report,
- "<td class=\"covoar-td\" align=\"center\">%d</td>\n",
- symbol->second.stats.sizeInInstructions
- );
-
- // Total Uncovered Ranges
- fprintf(
- report,
- "<td class=\"covoar-td\" align=\"center\">%d</td>\n",
- symbol->second.stats.uncoveredRanges
- );
-
- // Uncovered Size in Bytes
- fprintf(
- report,
- "<td class=\"covoar-td\" align=\"center\">%d</td>\n",
- symbol->second.stats.uncoveredBytes
- );
-
- // Uncovered Size in Instructions
- fprintf(
- report,
- "<td class=\"covoar-td\" align=\"center\">%d</td>\n",
- symbol->second.stats.uncoveredInstructions
- );
+ if (symbol->second.stats.sizeInBytes == 0) {
+ // The symbol has never been seen. Write "unknown" for all columns.
+ fprintf(
+ report,
+ "<td class=\"covoar-td\" align=\"center\">unknown</td>\n"
+ "<td class=\"covoar-td\" align=\"center\">unknown</td>\n"
+ "<td class=\"covoar-td\" align=\"center\">unknown</td>\n"
+ "<td class=\"covoar-td\" align=\"center\">unknown</td>\n"
+ "<td class=\"covoar-td\" align=\"center\">unknown</td>\n"
+ "<td class=\"covoar-td\" align=\"center\">unknown</td>\n"
+ "<td class=\"covoar-td\" align=\"center\">unknown</td>\n"
+ "<td class=\"covoar-td\" align=\"center\">unknown</td>\n"
+ "<td class=\"covoar-td\" align=\"center\">unknown</td>\n"
+ "<td class=\"covoar-td\" align=\"center\">unknown</td>\n"
+ );
+ } else {
+ // Total Size in Bytes
+ fprintf(
+ report,
+ "<td class=\"covoar-td\" align=\"center\">%d</td>\n",
+ symbol->second.stats.sizeInBytes
+ );
- // Total number of branches
- fprintf(
- report,
- "<td class=\"covoar-td\" align=\"center\">%d</td>\n",
- symbol->second.stats.branchesNotExecuted + symbol->second.stats.branchesExecuted
- );
+ // Total Size in Instructions
+ fprintf(
+ report,
+ "<td class=\"covoar-td\" align=\"center\">%d</td>\n",
+ symbol->second.stats.sizeInInstructions
+ );
- // Total Always Taken
- fprintf(
- report,
- "<td class=\"covoar-td\" align=\"center\">%d</td>\n",
- symbol->second.stats.branchesAlwaysTaken
- );
+ // Total Uncovered Ranges
+ fprintf(
+ report,
+ "<td class=\"covoar-td\" align=\"center\">%d</td>\n",
+ symbol->second.stats.uncoveredRanges
+ );
- // Total Never Taken
- fprintf(
- report,
- "<td class=\"covoar-td\" align=\"center\">%d</td>\n",
- symbol->second.stats.branchesNeverTaken
- );
+ // Uncovered Size in Bytes
+ fprintf(
+ report,
+ "<td class=\"covoar-td\" align=\"center\">%d</td>\n",
+ symbol->second.stats.uncoveredBytes
+ );
- // % Uncovered Instructions
- if ( symbol->second.stats.sizeInInstructions == 0 )
+ // Uncovered Size in Instructions
fprintf(
report,
- "<td class=\"covoar-td\" align=\"center\">100.00</td>\n"
+ "<td class=\"covoar-td\" align=\"center\">%d</td>\n",
+ symbol->second.stats.uncoveredInstructions
);
- else
+
+ // Total number of branches
fprintf(
report,
- "<td class=\"covoar-td\" align=\"center\">%.2f</td>\n",
- (symbol->second.stats.uncoveredInstructions*100.0)/
- symbol->second.stats.sizeInInstructions
+ "<td class=\"covoar-td\" align=\"center\">%d</td>\n",
+ symbol->second.stats.branchesNotExecuted + symbol->second.stats.branchesExecuted
);
- // % Uncovered Bytes
- if ( symbol->second.stats.sizeInBytes == 0 )
+ // Total Always Taken
fprintf(
report,
- "<td class=\"covoar-td\" align=\"center\">100.00</td>\n"
+ "<td class=\"covoar-td\" align=\"center\">%d</td>\n",
+ symbol->second.stats.branchesAlwaysTaken
);
- else
+
+ // Total Never Taken
fprintf(
report,
- "<td class=\"covoar-td\" align=\"center\">%.2f</td>\n",
- (symbol->second.stats.uncoveredBytes*100.0)/
- symbol->second.stats.sizeInBytes
+ "<td class=\"covoar-td\" align=\"center\">%d</td>\n",
+ symbol->second.stats.branchesNeverTaken
);
+ // % Uncovered Instructions
+ if ( symbol->second.stats.sizeInInstructions == 0 )
+ fprintf(
+ report,
+ "<td class=\"covoar-td\" align=\"center\">100.00</td>\n"
+ );
+ else
+ fprintf(
+ report,
+ "<td class=\"covoar-td\" align=\"center\">%.2f</td>\n",
+ (symbol->second.stats.uncoveredInstructions*100.0)/
+ symbol->second.stats.sizeInInstructions
+ );
+
+ // % Uncovered Bytes
+ if ( symbol->second.stats.sizeInBytes == 0 )
+ fprintf(
+ report,
+ "<td class=\"covoar-td\" align=\"center\">100.00</td>\n"
+ );
+ else
+ fprintf(
+ report,
+ "<td class=\"covoar-td\" align=\"center\">%.2f</td>\n",
+ (symbol->second.stats.uncoveredBytes*100.0)/
+ symbol->second.stats.sizeInBytes
+ );
+ }
+
fprintf( report, "</tr>\n");
return true;
}