Generating Kyua test result output in JUnit XML format for Jenkins integration?

Julio Merino jmmv at meroh.net
Sun Mar 2 20:34:59 UTC 2014


On Thu, Feb 27, 2014 at 3:31 PM, Craig Rodrigues <rodrigc at freebsd.org> wrote:
> Hi,
>
> In this thread on the freebsd-testing mailing list
> I asked if it would be a good idea to extend
> Kyua so that it could generate test result output
> in JUnit XML test result format:
>
> http://lists.freebsd.org/pipermail/freebsd-testing/2014-February/000199.html
>
> JUnit XML is parsed natively by frameworks like Jenkins and
> Atlassian Bamboo.
>
> The response on that thread seemed favorable.
>
> Tyler Croy mentioned that he could help integrate and test things,
> but needs help on the C++ side of things.
>
> I'd like to get going on this and see if we can get a proof of concept
> to demo at the May 15 Continuous Testing working group that I am
> leading at the BSD Devsummit in Ottawa:

(As I mentioned in the other thread) this is relatively easy to do and
we have enough time to get it going by May 15th.

The path of least resistance to get this out for now is:

1. Reintroduce support for --output=format:path to 'report' so that
'report' can output more than one format. The existence of
'report-html' as a separate command is a pretty ugly hack.

2. Split out the console-specific formatting from cmd_report.cpp into
a separate module to clearly expose what is part of the formatting and
what is not. Adding JUnit XML support should not require changes to
other code.

3. Add a new module with the JUnit XML formatting code.

I have finished with 1 (locally, not pushed out yet) and started
working on 2, which is slightly trickier. I can also do 3 but not
until after AsiaBSDCon 2014 (that is, mid-March).

I suppose that with this done, integrating the output into Jenkins
should be trivial.

(Longer-term, I am pondering the option of converting all the
report-generation code to Lua with extensive support for hooks. This
would allow you to tweak the output format without having to change
Kyua internals.)


More information about the freebsd-testing mailing list