How can I use the covoar tool?
Sebastian Huber
sebastian.huber at embedded-brains.de
Fri May 17 07:34:59 UTC 2019
On 20/03/2019 13:16, Sebastian Huber wrote:
> Hello,
>
> the RTEMS project has a covoar tool:
>
> https://git.rtems.org/rtems-tools/tree/tester/covoar
>
> I have seen some reports generated by it, but I never used it myself.
> I have trouble to find out how it works. There is nothing in the
> documentation:
>
> cd rtems-docs
> grep -ri covoar .
>
> There is some documentation available here:
>
> https://devel.rtems.org/wiki/GCI/Documentation/CoverageAnalysis/Coverage
>
> If I invoke the rtems-test like this in the erc32 BSP build directory,
> I get an error:
>
> rtems-test --rtems-bsp=erc32-sis --rtems-tools=/build/rtems/5
> --coverage --target=sparc-rtems5 .
> RTEMS Testing - Tester, 5.0.not_released
> Command Line: /build/rtems/5/bin/rtems-test --rtems-bsp=erc32-sis
> --rtems-tools=/build/rtems/5 --coverage --target=sparc-rtems5 .
> Python: 3.6.5 (default, Mar 31 2018, 19:45:04) [GCC]
> Host: Linux-4.12.14-lp150.12.48-default-x86_64-with-glibc2.3.4 (Linux
> huber-nb-linux.suse 4.12.14-lp150.12.48-default #1 SMP Tue Feb 12
> 14:01:48 UTC 2019 (268f014) x86_64 x86_64)
> Traceback (most recent call last):
> File "/build/rtems/5/share/rtems/tester/rt/cmd-test.py", line 42, in
> <module>
> test.run(sys.argv[1:], command_path = base)
> File "/build/rtems/5/share/rtems/tester/rt/test.py", line 300, in run
> trace = cov_trace)
> File "/build/rtems/5/share/rtems/tester/rt/coverage.py", line 363,
> in __init__
> self.target = self.macros['target']
> File "/build/rtems/5/share/rtems/rtemstoolkit/macros.py", line 181,
> in __getitem__
> raise IndexError('key: %s' % (key))
> IndexError: key: target
>
I made some progress to try it out myself. The next obstacle was this:
rtems-test --rtems-tools=/build/rtems/5 --rtems-bsp=leon3-sis-cov
--coverage --no-clean --log=leon3-test.log
sparc-rtems5/c/leon3/testsuites/samples/hello.exe
RTEMS Testing - Tester, 5.0.not_released
[1/1] p:0 f:0 u:0 e:0 I:0 B:0 t:0 i:0 W:0 | sparc/leon3-sis: hello.exe
Passed: 1
Failed: 0
User Input: 0
Expected Fail: 0
Indeterminate: 0
Benchmark: 0
Timeout: 0
Invalid: 0
Wrong Version: 0
Wrong Build: 0
Wrong Tools: 0
----------------
Total: 1
Average test time: 0:00:01.505144
Testing time : 0:00:01.505144
error: symbol parser write failed for score
To figure out what went wrong, I removed the try/except block from
tester/rt/coverage.py and got:
rtems-test --rtems-tools=/build/rtems/5 --rtems-bsp=leon3-sis-cov
--coverage --no-clean --log=leon3-test.log
sparc-rtems5/c/leon3/testsuites/samples/hello.exe
RTEMS Testing - Tester, 5.0.not_released
[1/1] p:0 f:0 u:0 e:0 I:0 B:0 t:0 i:0 W:0 | sparc/leon3-sis: hello.exe
Passed: 1
Failed: 0
User Input: 0
Expected Fail: 0
Indeterminate: 0
Benchmark: 0
Timeout: 0
Invalid: 0
Wrong Version: 0
Wrong Build: 0
Wrong Tools: 0
----------------
Total: 1
Average test time: 0:00:01.504073
Testing time : 0:00:01.504073
Traceback (most recent call last):
File "/build/rtems/5/share/rtems/tester/rt/cmd-test.py", line 42, in
<module>
test.run(sys.argv[1:], command_path = base)
File "/build/rtems/5/share/rtems/tester/rt/test.py", line 387, in run
coverage_runner.run()
File "/build/rtems/5/share/rtems/tester/rt/coverage.py", line 401, in run
parser.write_ini(sset)
File "/build/rtems/5/share/rtems/tester/rt/coverage.py", line 293, in
write_ini
object_files = [o for o in os.listdir(self.symbol_sets[sset]) if
o[-1] == 'o']
FileNotFoundError: [Errno 2] No such file or directory:
'/sparc-rtems5/c/leon3/cpukit/score/src'
This is more useful error output from my point of view. It seems you
have to use an absolute path for the test directory.
rtems-test --rtems-tools=/build/rtems/5 --rtems-bsp=leon3-sis-cov
--coverage --no-clean --log=leon3-test.log
/build/git-build/b-leon3/sparc-rtems5/c/leon3/testsuites/samples/hello.exe
[....]
Coverage generating reports
error: copying tree: /build/rtems/5/share/rtems/tester/covoar/covoar.css
-> /build/git-build/b-leon3/leon3-sis-coverage/score/covoar.css: [Errno
2] No such file or directory:
'/build/rtems/5/share/rtems/tester/covoar/covoar.css'
I copied some files by hand. A full test run ended up in:
rtems-test --rtems-tools=/build/rtems/5 --rtems-bsp=leon3-sis-cov
--coverage --no-clean --log=leon3-test.log
/build/git-build/b-leon3/sparc-rtems5/c/leon3/testsuites
RTEMS Testing - Tester, 5.0.not_released
[ 3/710] p:0 f:0 u:0 e:0 I:0 B:0 t:0 i:0 W:0 |
sparc/leon3-sis: ada_nsecs.exe
[...]
[710/710] p:684 f:5 u:6 e:0 I:0 B:3 t:0 i:2 W:0 |
sparc/leon3-sis: tmttest01.exe
Passed: 692
Failed: 6
User Input: 6
Expected Fail: 0
Indeterminate: 0
Benchmark: 3
Timeout: 1
Invalid: 2
Wrong Version: 0
Wrong Build: 0
Wrong Tools: 0
------------------
Total: 710
Average test time: 0:00:00.427096
Testing time : 0:05:03.237825
Running coverage analysis: score
(/build/git-build/b-leon3/leon3-sis-coverage/score)
Coverage time: 0:17:53.695293
Running coverage analysis: rtems
(/build/git-build/b-leon3/leon3-sis-coverage/rtems)
Coverage time: 0:12:55.898577
Running coverage analysis: sapi
(/build/git-build/b-leon3/leon3-sis-coverage/sapi)
error: coverage: covoar failure:: 10
--
Sebastian Huber, embedded brains GmbH
Address : Dornierstr. 4, D-82178 Puchheim, Germany
Phone : +49 89 189 47 41-16
Fax : +49 89 189 47 41-09
E-Mail : sebastian.huber at embedded-brains.de
PGP : Public key available on request.
Diese Nachricht ist keine geschäftliche Mitteilung im Sinne des EHUG.
More information about the devel
mailing list