luacov-reporter-lcov

Today I was looking into using gitlab-ci for various projects instead of my current default choice of travis-ci. This doesn’t require a complete move to gitlab anymore: they support CI for github hosted projects! (See GitLab 10.6 release annoucement)

However moving away from travis-ci also looses me low effort integration with coveralls.io. Investigating alternatives, I found that gitlab have a post on hosting your project coverage using GitLab itself. To do this I need a luacov html report generator. I was able to find a couple of options (e.g. luacov-multiple), but I wasn’t happy with the quality of the web page created.

I’m mildly familiar with the lcov tool for coverage of C code, so I figured that I’d see if I can use it for coverage of Lua code too. Happily, the format that lcov uses is quite simple (see man geninfo ) and it was simple to create a luacov reporter that outputs lcov compatible tracefiles. Using lcov has the additional benefit that coverage of a mixed language project is easy.

I published my code here and have uploaded it to luarocks.