Hi, I want code coverage data to be visible on Jenkins CI using cobertura plugin. This part of HOWTO[1] is unclear: """ Configure cover to export data. Sample cover.spec for Common Test: {incl_app, app0, details}. {export, "all.coverdata"}. """
Of course, after ./rebar eunit, no relevant XML files are created (neither all.coverdata is).
I did this a while ago and unfortunately I have no access for that
CI-server anymore so not sure if my information are (still) valid. I
have installed the covertool rebar plugin as described in
https://github.com/idubrov/covertool. Then you must configure the
plugin in your rebar.config file.
So:
"""
plugins, [rebar_covertool]}. % Enable covertool rebar plugin
{covertool_eunit, "eunit.coverage.xml"}. % Output report file name
{covertool_ct, {"ct.coverdata", "ct.coverage.xml"}}. % Source file
name, output report file name
"""
I guess you are referring to line 3 where you configure the covertool
for common test, however if you are not using common test at all you
can omit that line.
I think that is it.
Cheers
Andre
On 1 June 2012 16:03, Motiejus Jakđtys <desired....@gmail.com> wrote:
> Hi,
> I want code coverage data to be visible on Jenkins CI using cobertura
> plugin. This part of HOWTO[1] is unclear:
> """
> Configure cover to export data. Sample cover.spec for Common Test:
> {incl_app, app0, details}.
> {export, "all.coverdata"}.
> """
> Of course, after ./rebar eunit, no relevant XML files are created
> (neither all.coverdata is).
> On 1 June 2012 20:08, Motiejus Jakštys <desired....@gmail.com> wrote: >> On Fri, Jun 1, 2012 at 7:32 PM, André Graf <an...@dergraf.org> wrote: >>> Hi Motiejus
>>> I did this a while ago and unfortunately I have no access for that >>> CI-server anymore so not sure if my information are (still) valid. I >>> have installed the covertool rebar plugin as described in >>> https://github.com/idubrov/covertool. Then you must configure the >>> plugin in your rebar.config file. >>> So: >>> """ >>> plugins, [rebar_covertool]}. % Enable covertool rebar plugin >>> {covertool_eunit, "eunit.coverage.xml"}. % Output report file name >>> {covertool_ct, {"ct.coverdata", "ct.coverage.xml"}}. % Source file >>> name, output report file name >>> """ >>> I guess you are referring to line 3 where you configure the covertool >>> for common test, however if you are not using common test at all you >>> can omit that line. >>> I think that is it.
>> Hi, >> thanks for the answer. Tried removing that line as well. However, >> eunit.coverage.xml does not appear anywhere after running ./rebar >> eunit
On Sat, Jun 2, 2012 at 9:29 PM, Motiejus Jakštys <desired....@gmail.com> wrote: > On Fri, Jun 1, 2012 at 8:22 PM, André Graf <an...@dergraf.org> wrote: >> Have you cover enabled? >> {cover_enabled, true}.
> Testing on Erlang R15B and rebar binary is copied from your project.
Figured it out, it's rebar fault. If all tests pass, covertool works as expected.
However, if any of tests fail while running ./rebar eunit, it halts the VM on the first opportunity and hence does not call rebar_covertool:eunit/2. I created a trivial patch for rebar and now working on a test suite which is less trivial. Will submit a patch to rebar in next couple of days.