SystemTAP translator test coverage

classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

SystemTAP translator test coverage

William Cohen
I have been playing around with the "make gcov" and and lcov from Linux
Test Project (LTP) to make html pages of test coverage. I have manually
run this and put a prelimary page on my Red Hat people page.

http://people.redhat.com/wcohen/stap_coverage/

The coverage includes the c++ library files, which are not interesting
for the testing. The following is the page with the coverage of the stap
translator coverage:

http://people.redhat.com/wcohen/stap_coverage/src/index.html

There are sections of buildrun.cxx that are not run because the output
of the translator was not actually compiled as a module or installed in
the kernel. The translator tests do not exercise the tapsets.cxx code
either.

Looking at parse.cxx and translate.cxx there are a number of cases where
there are untested error messages, lines that throw parse_error() or
semantic_error().


-Will

PS I have put the source source RPM for lcov at:
http://people.redhat.com/wcohen/lcov-1.4-1.src.rpm
Reply | Threaded
Open this post in threaded view
|

Re: SystemTAP translator test coverage

Frank Ch. Eigler

wcohen wrote:

> [...]
> http://people.redhat.com/wcohen/stap_coverage/src/index.html

Thanks for posting the pretty pictures!

> There are sections of buildrun.cxx that are not run because the
> output of the translator was not actually compiled as a module or
> installed in the kernel. The translator tests do not exercise the
> tapsets.cxx code either.

That's odd - the transok/buildok tests should exercise the tapsets.cxx
code.

> Looking at parse.cxx and translate.cxx there are a number of cases
> where there are untested error messages [...]

I guess the small step is for some volunteers to modify (or write new)
test cases that force those error cases.  The next bigger step is to
do the same for the other significant chunks of untested code.

- FChE
Reply | Threaded
Open this post in threaded view
|

Re: SystemTAP translator test coverage

William Cohen
Frank Ch. Eigler wrote:

> wcohen wrote:
>
>
>>[...]
>>http://people.redhat.com/wcohen/stap_coverage/src/index.html
>
>
> Thanks for posting the pretty pictures!
>
>
>>There are sections of buildrun.cxx that are not run because the
>>output of the translator was not actually compiled as a module or
>>installed in the kernel. The translator tests do not exercise the
>>tapsets.cxx code either.
>
>
> That's odd - the transok/buildok tests should exercise the tapsets.cxx
> code.

Ah, this was on my laptop which doesn't have a matching debuginfo for
the kernel that is running on it. The results looked a bit better on my
p6 machine that had a debuginfo matching the kernel.

I have placed the revised results from today's checkout "make gcov" on a
FC4 pentium M machine at:

http://people.redhat.com/wcohen/stap_coverage/

>>Looking at parse.cxx and translate.cxx there are a number of cases
>>where there are untested error messages [...]
>
>
> I guess the small step is for some volunteers to modify (or write new)
> test cases that force those error cases.  The next bigger step is to
> do the same for the other significant chunks of untested code.
>
> - FChE

-Will