{"id":20255812,"url":"https://github.com/samcv/moarvm-cover","last_synced_at":"2026-05-13T03:02:23.613Z","repository":{"id":66576678,"uuid":"86753632","full_name":"samcv/MoarVM-cover","owner":"samcv","description":"MoarVM line/file based coverage reporting","archived":false,"fork":false,"pushed_at":"2017-04-15T21:24:15.000Z","size":50,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-12-06T09:38:09.028Z","etag":null,"topics":["coverage-report","moarvm","nqp","perl6","scripts","stats"],"latest_commit_sha":null,"homepage":"https://moarvm.github.io/coverage/","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/samcv.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2017-03-30T22:11:12.000Z","updated_at":"2017-04-16T20:09:08.000Z","dependencies_parsed_at":"2023-03-30T13:03:51.618Z","dependency_job_id":null,"html_url":"https://github.com/samcv/MoarVM-cover","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/samcv/MoarVM-cover","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/samcv%2FMoarVM-cover","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/samcv%2FMoarVM-cover/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/samcv%2FMoarVM-cover/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/samcv%2FMoarVM-cover/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/samcv","download_url":"https://codeload.github.com/samcv/MoarVM-cover/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/samcv%2FMoarVM-cover/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32965783,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-12T23:30:32.555Z","status":"online","status_checked_at":"2026-05-13T02:00:07.132Z","response_time":115,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["coverage-report","moarvm","nqp","perl6","scripts","stats"],"created_at":"2024-11-14T10:41:24.084Z","updated_at":"2026-05-13T03:02:23.576Z","avatar_url":"https://github.com/samcv.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# MoarVM line based/function based coverage reporting\nYou can also [go here](https://cry.nu/coverage/) to see the generated output from\nthe last time I have ran it, which reports on the NQP test suite coverage.\nUnlike [the other coverage reporter](perl6.wtf), which reports line based coverage\nof **Perl 6** itself, this reports coverage of the underlying Moar virtual machine.\n\nIt is planned to also automate coverage based reporting of the roast test suite\nas well.\n\n## Instructions\n### Dependencies\n* `llvm-cov` and `clang` (hard dependency)\n    * If you already have clang, you probably already have `llvm-cov`\n* `ansi2html` (soft dependency)\n    * For the line based reporting, `llvm-cov` natively can output as html. But for\n      the file and function based coverage reporting, we use `ansi2html` to convert\n      the color output of `llvm-cov` to html.\n    * If you don't have it, it will generate the line based coverage and just not\n      create the function based and file based one.\n\n### Info\n* [`report-libmoar.html`](https://cry.nu/coverage/report-libmoar.html) details stats of files\n  that are included in the `libmoar.so`, which is to the best of my knowledege, everything but `main.c`\n* [`report-moar.html`](https://cry.nu/coverage/report-moar.html) details of `moar` binary, which\n  is only `main.c` (so most files show no coverage except this one)\n\n\n## Generating it yourself\nAfter reading the dependencies above, make sure your directory structure has\nthis repo, nqp MoarVM all on the same level. It is not strictly required for\nMoarVM-cover to be on the same level as long as you adjust the `ln -s`\ncommands below, but the script does rely on nqp and MoarVM being on the same\nlevel (also this is the only situation I am testing).\n```\n$ ls\nMoarVM\nMoarVM-cover\nnqp\n```\nIf you want to install MoarVM into a specific place, set the MOAR_PREFIX env variable,\notherwise it will build its own MoarVM in `MoarVM/moar-cover` (may be a good idea if you don't\nwant to disrupt your existing installation).\n\n* Run:\n```\ncd nqp\n# Make sure you are in the nqp repo directory then run:\nln -s ../MoarVM-cover/nqp-profile\nln -s ../MoarVM-cover/merge-profraw.sh\ncd ../MoarVM\nln -s ../MoarVM-cover/html-cover.sh\n```\nNow you are ready to run the fully automated *super awesome* html-cover.sh script!\n```\n./html-cover.sh\n```\nThis will generate line by line html coverage report as well as stats for each function.\nIt will generate into the html directory of MoarVM\n# coverage\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsamcv%2Fmoarvm-cover","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsamcv%2Fmoarvm-cover","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsamcv%2Fmoarvm-cover/lists"}