On 1/24/19 9:33 AM, Jiri Gaisler wrote: > > On 1/24/19 12:45 AM, Joel Sherrill wrote: >> >> >> On Wed, Jan 23, 2019 at 4:45 PM Chris Johns <chr...@rtems.org >> <mailto:chr...@rtems.org>> wrote: >> >> On 24/1/19 9:12 am, Jiri Gaisler wrote: >> > After some trial and error, I got covoar to run with: >> >> Great. >> >> > However, the coverage is always 0% in the summary report: >> >> Does adding -v to the command line provide any more detail? Repeating -v >> increases the level but things can become rather verbose and if you trip >> full >> DWARF tracing there is a lot of output. >> >> >> I would be suspicious of the code that is invoked around >> CoverageReaderTSIM.cc:83 as a starting point. For some method you >> know you should be analyzed, there should be aCoverageMap. Since you >> are looking at only one executable, you could hard-code a test with >> address range of a single method under test to see what happens. >> > > Well, the problem is that covoar in rtems-tools is hard-coded to use the QEMU > format, and the -f switch to change format is not used. I have attached a > patch to fix that. After that, covoar works fine with the coverage data from > sis: > > cat coverage/summary.txt > Bytes Analyzed : 20034 > Bytes Not Executed : 11734 > Percentage Executed : 41.43 > Percentage Not Executed : 58.57 > Uncovered ranges found : 242 > Total branches found : 443 > Uncovered branches found : 167 > 68 branches always taken > 99 branches never taken > > If you approve to the patch, then I will check it in (now that I know how ... > :-)) > Here is a better patch that maintains the old behavior of QEMU as default, while honoring the -f switch if provided.
Jiri.
diff --git a/tester/covoar/covoar.cc b/tester/covoar/covoar.cc index 36c24c3..cbb0e4f 100644 --- a/tester/covoar/covoar.cc +++ b/tester/covoar/covoar.cc @@ -163,7 +163,7 @@ int covoar( char gcdaFileName[FILE_NAME_LENGTH]; char gcovBashCommand[256]; std::string target; - const char* format = "html"; + const char* format = "QEMU"; FILE* gcnosFile = NULL; Gcov::GcovData* gcovFile; const char* singleExecutable = NULL; @@ -359,6 +359,7 @@ int covoar( AllExplanations->load( explanations ); // Create coverage map reader. + coverageFormat = Coverage::CoverageFormatToEnum(format); coverageReader = Coverage::CreateCoverageReader(coverageFormat); if (!coverageReader) throw rld::error( "Unable to create coverage file reader", "covoar" );
_______________________________________________ devel mailing list devel@rtems.org http://lists.rtems.org/mailman/listinfo/devel