On 13 May 2018 at 13:47, Vijay Kumar Banerjee <vijaykumar9...@gmail.com> wrote:
> > On Sun, 13 May 2018, 18:14 Cillian O'Donnell, <cpodonne...@gmail.com> > wrote: > >> >> >> On 13 May 2018 at 13:35, Vijay Kumar Banerjee <vijaykumar9...@gmail.com> >> wrote: >> >>> >>> On Sun, 13 May 2018, 17:32 Cillian O'Donnell, <cpodonne...@gmail.com> >>> wrote: >>> >>>> I understand but that's a separate issue. I can do a full coverage run >>>> from the top of the build tree by changing hello.exe.cov to hello.cov >>>> manually using current master. Then I add your patch which is supposed to >>>> fix the problem of having to change those manually so it looks for >>>> hello.exe.cov instead but I can't even make it to the point of doing the >>>> coverage runs anymore so it must of had some unintended consequences. >>>> >>> >>> it's building fine here. >>> >> >> Does it only work if you change the path in the ini file? >> > if you're running from the top of leon3 build tree then Changing the path > shouldn't be required. > I'm not but did you add the line to leon3-qemu-cov.ini that you mentioned above and that's the reason it's working for you. If you change that back to the original. Is is still working? > >> >>> have you tried ./waf build install after the changes to covoar.cc? >>> >>> can you please try the v2 of the patch, ./waf build install it and see >>> if it's behaving the same ? >>> >>> >>>> I know its frustrating to work on a problem for a while and you finally >>>> come up with the solution only to have all of us complain that it's not >>>> quite right but that's just collaborative development, you'll have to get >>>> used to it :)... >>>> >>> That's alright. :) >>> >>>> >>>> On 13 May 2018 at 12:39, Vijay Kumar Banerjee <vijaykumar9...@gmail.com >>>> > wrote: >>>> >>>>> >>>>> >>>>> On Sun, 13 May 2018, 17:02 Cillian O'Donnell, <cpodonne...@gmail.com> >>>>> wrote: >>>>> >>>>>> But you see the thing is that if you remove the changes you made and >>>>>> run the tester from the top of the build tree it makes it past those >>>>>> checks >>>>>> and does full coverage analysis runs for all trace files that end in only >>>>>> .cov. So only hello.cov here because I've changed it manually. >>>>>> >>>>> from the top of the build tree, it does work if you just manually >>>>> change the extension . >>>>> But it doesn't building from outside the directory, say from >>>>> coverage_test directory . The change I'm suggesting is to make it work >>>>> from >>>>> there . >>>>> For that we need to take the absolute path of the lib . maybe by >>>>> implementing something like realpath() from rld::path will do it. >>>>> >>>>>> >>>>>> warning: Unable to read coverage file: /home/cpod/development/rtems/ >>>>>> leon3/sparc-rtems5/c/leon3/testsuites/samples/unlimited/unlimited.cov >>>>>> Processing multiple executable/coverage file pairs >>>>>> Coverage Format : html >>>>>> Target : sparc-rtems5 >>>>>> >>>>>> Coverage file /home/cpod/development/rtems/ >>>>>> leon3/sparc-rtems5/c/leon3/testsuites/samples/hello/hello.cov for >>>>>> executable: /home/cpod/development/rtems/leon3/sparc-rtems5/c/leon3/ >>>>>> testsuites/samples/hello/hello.exe >>>>>> Loading symbol sets: /home/cpod/development/rtems/ >>>>>> test/rtems-tools/tester/rtems/testing/coverage/score-symbols.ini >>>>>> Symbol set: score >>>>>> Loading library: sparc-rtems5/c/leon3/cpukit/score/libscore.a >>>>>> Analyzing 382 symbols >>>>>> Extracting information from: /home/cpod/development/rtems/ >>>>>> leon3/sparc-rtems5/c/leon3/testsuites/samples/hello/hello.exe >>>>>> Created unified coverage map for _RTEMS_Lock_allocator (0x0 - 0x13) >>>>>> Created unified coverage map for _RTEMS_Unlock_allocator (0x0 - 0x13) >>>>>> Created unified coverage map for _API_Mutex_Lock (0x0 - 0x2f) >>>>>> .............. >>>>>> Processing coverage file /home/cpod/development/rtems/ >>>>>> leon3/sparc-rtems5/c/leon3/testsuites/samples/hello/hello.cov for >>>>>> executable /home/cpod/development/rtems/leon3/sparc-rtems5/c/leon3/ >>>>>> testsuites/samples/hello/hello.exe >>>>>> Preprocess uncovered ranges and branches >>>>>> Computing uncovered ranges and branches >>>>>> Branch always taken found in _API_Mutex_Lock (0x40005f98 - 0x40005f9b) >>>>>> Branch always taken found in _API_Mutex_Unlock (0x40005fc0 - >>>>>> 0x40005fc3) >>>>>> Branch never taken found in _Chain_Initialize (0x4000600c - >>>>>> 0x4000600f) >>>>>> Branch always taken found in _Freechain_Get (0x40006070 - 0x40006073) >>>>>> Branch never taken found in _Freechain_Get (0x40006084 - 0x40006087) >>>>>> Branch never taken found in _Heap_Allocate_aligned_with_boundary >>>>>> (0x40006108 - 0x4000610b) >>>>>> ........................ >>>>>> Calculate statistics >>>>>> Looking up source lines for uncovered ranges and branches >>>>>> Looking up source lines for uncovered ranges in CSWTCH.1 >>>>>> Looking up source lines for uncovered branches in _API_Mutex_Lock >>>>>> Looking up source lines for uncovered ranges in _API_Mutex_Unlock >>>>>> Looking up source lines for uncovered branches in _API_Mutex_Unlock >>>>>> Looking up source lines for uncovered branches in _Chain_Initialize >>>>>> Looking up source lines for uncovered ranges in _Freechain_Get >>>>>> ............................ >>>>>> Generate Reports >>>>>> Generate index.txt >>>>>> Generate annotated.txt >>>>>> Generate branch.txt >>>>>> Generate uncovered.txt >>>>>> Generate sizes.txt >>>>>> Generate symbolSummary.txt >>>>>> Generate index.html >>>>>> Generate annotated.html >>>>>> Generate branch.html >>>>>> Generate uncovered.html >>>>>> Generate sizes.html >>>>>> Generate symbolSummary.html >>>>>> Writing Not Found Report (/home/cpod/development/rtems/ >>>>>> leon3/coverage/score/ExplanationsNotFound.txt) >>>>>> Coverage run for score finished successfully. >>>>>> ----------------------------------------------- >>>>>> Generating reports >>>>>> Coverage analysis finished. You can find results in >>>>>> /home/cpod/development/rtems/leon3 >>>>>> ***Cleaning tempfiles*** >>>>>> >>>>>> So there does seem to be some knock on effect of just tacking on .cov >>>>>> there. Can't see all the consequences immediately but I'm having a look >>>>>> now. I'll let you know if I find anything. >>>>>> >>>>>> >>>>>> >>>>>> On 13 May 2018 at 12:07, Vijay Kumar Banerjee < >>>>>> vijaykumar9...@gmail.com> wrote: >>>>>> >>>>>>> >>>>>>> >>>>>>> On 13 May 2018 at 16:16, Vijay Kumar Banerjee < >>>>>>> vijaykumar9...@gmail.com> wrote: >>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> On Sun, 13 May 2018, 16:15 Vijay Kumar Banerjee, < >>>>>>>> vijaykumar9...@gmail.com> wrote: >>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> On Sun, 13 May 2018, 16:09 Cillian O'Donnell, < >>>>>>>>> cpodonne...@gmail.com> wrote: >>>>>>>>> >>>>>>>>>> It does seem to be having some knock on effect. Covoar made it >>>>>>>>>> past these checks before. >>>>>>>>>> >>>>>>>>>> ----------------- >>>>>>>>>> Total: 13 >>>>>>>>>> Average test time: 0:00:03.178923 >>>>>>>>>> Testing time : 0:00:41.326000 >>>>>>>>>> Running covoar for score >>>>>>>>>> covoar results directory: >>>>>>>>>> /home/cpod/development/rtems/leon3/coverage/score >>>>>>>>>> ERROR: executable build prefix does not match: sparc-rtems5 >>>>>>>>>> ***Cleaning tempfiles*** >>>>>>>>>> error: covoar failure exit code: 1 >>>>>>>>>> >>>>>>>>>> Not sure how thats related. >>>>>>>>>> >>>>>>>>>> Its checking >>>>>>>>>> >>>>>>>>>> if (buildPrefix.empty()) { >>>>>>>>>> >>>>>>>>>> 76 buildPrefix = *pri; >>>>>>>>>> >>>>>>>>>> 77 } else { >>>>>>>>>> >>>>>>>>>> 78 if (buildPrefix != *pri) >>>>>>>>>> { >>>>>>>>>> 79 std::cout << "buildBSP: " + buildBSP << "\n*pri: >>>>>>>>>> " + *pri << std::en >>>>>>>>>> dl; >>>>>>>>>> 80 fail = "executable build prefix does not match: " >>>>>>>>>> + buildPrefix; >>>>>>>>>> 81 break; >>>>>>>>>> >>>>>>>>>> 82 } >>>>>>>>>> >>>>>>>>>> 83 } >>>>>>>>>> >>>>>>>>>> I added those checks, Its stepping back through the path and >>>>>>>>>> checking if each directory makes sense. It seems to be out of line >>>>>>>>>> now >>>>>>>>>> >>>>>>>>>> ERROR: executable build prefix does not match: sparc-rtems5 >>>>>>>>>> buildBSP: leon3 >>>>>>>>>> *pri: sparc-rtems5 >>>>>>>>>> ***Cleaning tempfiles*** >>>>>>>>>> >>>>>>>>> initially there were two problems >>>>>>>>> +exe.cov and .cov mismatch >>>>>>>>> +access library from outside the leon3 directory. >>>>>>>>> >>>>>>>>> The patch solves the first one, that's one step . >>>>>>>>> The next step can be solved by adding the path to the build-target >>>>>>>>> , i.e. sparc-rtems5 , from HOME directory, you can manually add it >>>>>>>>> and see >>>>>>>>> it running for now. That tells us that inclusion of the path in more >>>>>>>>> standard way will solve it. >>>>>>>>> >>>>>>>> in score-symbol.ini file >>>>>>>> >>>>>>> >>>>>>> To state it clearly : >>>>>>> >>>>>>> I added this to the score-symbol.ini >>>>>>> >>>>>>> [score] >>>>>>> libraries=/home/lunatic/development/rtems/kernel/ >>>>>>> leon3/@BUILD-TARGET@/c/@BSP@/cpukit/score/libscore.a >>>>>>> >>>>>>> and that worked . >>>>>>> To do it in proper way we can do it from the script by using >>>>>>> something like the path.abspath() and that will fix this I think. >>>>>>> >>>>>>> >>>>>>> >>>>>> >>>> >>
_______________________________________________ devel mailing list devel@rtems.org http://lists.rtems.org/mailman/listinfo/devel