Skip to content

feat: LuaCov support#190

Open
luau-project wants to merge 8 commits into
coverallsapp:masterfrom
luau-project:luacov-support
Open

feat: LuaCov support#190
luau-project wants to merge 8 commits into
coverallsapp:masterfrom
luau-project:luacov-support

Conversation

@luau-project
Copy link
Copy Markdown

Closes # (issue)

N/A

⚡ Summary

Adds support for the default format generated by LuaCov (https://github.com/lunarmodules/luacov), popularly known as the "standard" coverage tool for Lua (https://lua.org) code.

☑️ Checklist

  • [ x ] Added a parser to consume LuaCov reports
  • [ x ] Add specs
  • [ x ] Updated subsequent docs on README

Details

I was motivated by the official (guide) to add LuaCov support.

Important

I didn't use any LLM code, and I have a total of 3 days of experience with the Crystal lang.

Points that I judge relevant to this PR:

  1. I wrote a custom parser for the LuaCov report format. This led to a high cyclomatic complexity running the linter. For this reason, I decided to exclude LuaCov from the cyclomatic check, but the code is well commented;
  2. Locally, I certified myself that I was able to:
    • build the project (make)
    • run the test suite (make test)
    • run the linter (make lint) and
    • also the coverage (bin/crkcov --kcov-args --exclude-pattern=/usr/include,/usr/lib,lib/,spec/ --coverage-dir <project dir>/coverage) asserting that luacov_parser.cr achieves a high coverage (over 90%);
  3. I also ran the built bin/coveralls on a personal project in dry-run mode, and everything worked nicely;
  4. I also ran CI (ci.yml) on my fork before opening this PR.

@codacy-production
Copy link
Copy Markdown

codacy-production Bot commented May 10, 2026

Up to standards ✅

🟢 Issues 0 issues

Results:
0 new issues

View in Codacy

NEW Get contextual insights on your PRs based on Codacy's metrics, along with PR and Jira context, without leaving GitHub. Enable AI reviewer
TIP This summary will be updated as you push new changes.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant