<div dir="ltr"><br><div class="gmail_extra"><br clear="all"><div><div class="gmail_signature" data-smartmail="gmail_signature"><div dir="ltr"><table style="font-family:CALIBRI;letter-spacing:normal;text-indent:0px;text-transform:none;word-spacing:0px;background-color:rgb(255,255,255)" border="0"><tbody><tr><td></td><td style="font-size:11px;padding:25px 10px 10px" valign="top"></td></tr><tr><td colspan="2" style="font-size:12px;font-family:calibri"><br></td></tr></tbody></table><p style="color:rgb(0,0,0);font-family:CALIBRI;font-size:11px;font-style:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;background-color:rgb(255,255,255)">2017-02-22 15:12 GMT+01:00 Joel Sherrill <span dir="ltr"><<a href="mailto:joel@rtems.org" target="_blank">joel@rtems.org</a>></span>:<br></p></div></div></div><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote"><span class="">On Wed, Feb 22, 2017 at 1:32 AM, Sergio Paracuellos <span dir="ltr"><<a href="mailto:sparacuellos@orbitalcs.com" target="_blank">sparacuellos@orbitalcs.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div><div><div><div><div><div><div>Hello All,<br><br></div>First of all sorry for my english. I am new in this list and I have been playing a couple of weeks  with rtems. I am using branch 4.11 of the git repository and I have several doubts in how the testing should be done and which is the way to do a good coverage testing.<br><br></div>So, I start from the beginning.<br><br></div>First, I have noted that the rtems source builder in branch 4.11 uses, as expected, branch 4.11 of the rtems-tools git repository. This branch seems to have some problems with rtems-test to be working well on linux. Looking at the repository I could see that this problems have been fixed in 4.10 branch (and also another changes applied which has not been applied for 4.11)  and master but not in 4.11 and I was wondering If version 4.11 is a good start point for doing something. Of course, fix this problems is straightforward and I can run rtems-tests without problems, but just to know, I am asking now.<br><br></div>The other doubt is what would be a good approach to do coverage tests. It seems to exist two approachs to do this process: one is using rtems-testing repository and other one is using rtems-tools. I am confused because in branch 4.11 rtems-testing repository with the configure options used in the scripts, rtems does not compile because of RTEMS_DO_NOT_INLINE_CORE_MUTEX<wbr>_SEIZE. For working this correctly you have to change "ISR_Level" to  ISR_lock_Context * in cpukit/score/src/coremutexseiz<wbr>eintr.c and cpukit/score/src/coremutexseiz<wbr>e.c. Because of this, I am thinking that this is not the best way to do coverage tests (or nobody is using this). The other approach is using rtems-tools repository and in some version of the past there is a patch (<a href="https://devel.rtems.org/attachment/wiki/SOCIS/2015/CoverageAnalysis/0001-Create_coverage_report_incl_debug_output_for_byte_size_diff.patch" target="_blank">https://devel.rtems.org/attac<wbr>hment/wiki/SOCIS/2015/Coverage<wbr>Analysis/0001-Create_coverage_<wbr>report_incl_debug_output_for_<wbr>byte_size_diff.patch</a>) to add a --coverage option to rtems-tester. Again, this patch has not been applied to rtems-tester in any version and I was wondering why. Also, this coverture tests uses coverture-qemu (only i386?) and it seems that there is nothing included in these days to do coverture testing in a real board. Am I correct with these things? Is coverage testing in rtems being done in these days? (last public reports are from 2014?) Rtems uses covoar utility instead of just using gcov for example and I'd like to know or where I can read the differences and reasons for this. And with all of this questions (sorry, I know there are a lot) the main question could be the following: What is a good way to do real coverage testing for rtems?<br><br></div></div></div></div></blockquote></span></div></div></div></blockquote><div><br></div><div>Hi Joel, <br><br></div><div>Thanks for your response :).<br> <br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><span class=""><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div><div><div></div></div></div></div></blockquote><div><br></div></span><div>covoar was moved to rtems-tools to be part of the rtems-testing suite. There was</div><div>a project to update the rtems-tester to do the coverage runs and reports that</div><div>were formerly done by scripts in the rtems-testing git repo. This project was </div><div>not completed and I don't know the precise status offhand. It needs to be completed.</div><div>As a result, there have been no coverage reports on 4.11. <br></div></div></div></div></blockquote><div><br></div><div>I see, that is what I thought at first. I wasn't wrong.   <br></div><div><br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><div></div><div><br></div><div>4.11 and newer have significant changes so it doesn't surprise me that the</div><div>code doesn't compile when you define RTEMS_DO_NOT_INLINE_CORE_MUTEX<wbr>_SEIZE.</div><div>The rationale for these conditionals when building for coverage is that it ends up </div><div>inlining code that has compare/branches and you end up with more assembly code</div><div>to cover but it is the same functionality. A patch for any code which doesn't compile</div><div>is appreciated. Also it is quite possible that the build options may need to be tweaked</div><div>for coverage builds for 4.11 and newer. But this is minor in comparison to getting</div><div>the reports in the first place.</div></div></div></div></blockquote><div><br></div><div>I'll read how to submit patches :-).<br></div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><div><br></div><div>As I recall, there were hard-coded paths in the SOCIS patches which had not been</div><div>resolved but that may just be a memory of an earlier code review. There may also</div><div>have been issues that it was only tested on a single BSP and possibly hard-coded</div><div>options on that.</div></div></div></div></blockquote><div><br></div><div>If I'm not wrong all of coverage stuff was only oriented to x86 architecture? It seems all is based in coverture-qemu for <br></div><div>get the cov files to get final coverture report with covoar... As far as I know coverture-qemu is a modified<br></div><div>qemu for x86 architectures, right? Please correct me if I'm wrong. If this is true I don't understand in which way coverage<br></div><div>testing was thought at first, because with this approach you are not be able to run and get coverage files in a real board (for example).<br><br></div><div>Why not just use libgcov with modifications for embedded?  <br></div><div> <br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><div><br></div><div>It would be greatly appreciated and of significant value to the project if you could</div><div>try out the rtems-tester coverage addition patches and help get them in shape</div><div>to merge. They should be close but someone with a view to using them for </div><div>real work will have the right perspective. :)</div><span class=""><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div><div>Thank you very much for your time. I really apreciate your help.<br> </div></div></div></blockquote></span></div></div></div></blockquote><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><span class=""><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div><div></div></div></div></blockquote><div><br></div></span><div>We hope to appreciate your help. :)</div><div><br></div><div>Thanks.</div></div></div></div></blockquote><div><br></div><div>Thanks again, for your time.<br><br></div><div>Sergio <br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><div><br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div><div><div><div><div><div><div><div><div><div><div><div><div class="m_-7458031608214665042gmail-m_921277536195968596gmail_signature"><div dir="ltr"><table style="font-family:calibri;letter-spacing:normal;text-indent:0px;text-transform:none;word-spacing:0px;background-color:rgb(255,255,255)" border="0"><tbody><tr><td><br></td><td style="font-size:11px;padding:25px 10px 10px" valign="top"><br></td></tr><tr><td style="font-size:12px;font-family:calibri" colspan="2"><br></td></tr></tbody></table></div></div></div>
</div></div></div></div></div></div></div></div></div></div></div></div>
<br>______________________________<wbr>_________________<br>
users mailing list<br>
<a href="mailto:users@rtems.org" target="_blank">users@rtems.org</a><br>
<a href="http://lists.rtems.org/mailman/listinfo/users" rel="noreferrer" target="_blank">http://lists.rtems.org/mailman<wbr>/listinfo/users</a><br></blockquote></div><br></div></div>
</blockquote></div><br></div></div>