Opp repl coverage reports
Composable Anthropic-format Agent Skills for driving OMNeT++ simulations via opp_repl. Works in Claude, Windsurf, and any SKILL.md-aware agent.
npx -y skills add tabgab/opp_repl-skill --skill opp-repl-coverage-reportsAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
2 things to look at
- no licenseNo license file was found in the repository. Code published without one is not open source by default, so using it at work is a question for whoever answers licensing questions where you are.
- 0 stars0 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
What its author says it does
Copied from the file, not written here
Generate C++ line-coverage reports from simulation runs using opp_repl's `coverage` build mode and LLVM coverage tools. open_coverage_report builds, runs, and opens the HTML report; generate_coverage_report just produces it. Load when you need to know which C++ lines are exercised by a given simulation or test.
SKILL.md
2.2 KB, as published. Nobody here has run it
Coverage reports
Coverage reports show which lines of C++ simulation source are
executed by a run. Uses the coverage build mode (binary suffix
_coverage) and LLVM's llvm-profdata / llvm-cov toolchain.
Upstream reference: https://github.com/omnetpp/opp_repl/blob/main/doc/coverage.md
Python API
# Build + run + open HTML report in browser
open_coverage_report(simulation_project=inet_project,
working_directory_filter="examples/ethernet",
sim_time_limit="10s")
# Build + run, just produce the report (don't open it)
generate_coverage_report(simulation_project=inet_project,
working_directory_filter="examples/ethernet",
sim_time_limit="10s")
Filters follow the standard vocabulary
(see opp-repl-filtering).
Requirements
- LLVM 10+ on PATH (
llvm-profdata,llvm-cov). - The C++ sources built with clang (gcc does not emit the profile format LLVM expects).
Typical workflow
- Pick one representative simulation config (coverage of a large test matrix is often dominated by a few runs).
- Run it through
open_coverage_report(...). - Use the HTML report to find untested branches; add fingerprint/statistical tests that exercise them.
Pitfalls
- Coverage builds are about 20 % slower than release. Long runs
get expensive; keep
sim_time_limitmodest for coverage sweeps. - Multiple tasks per run merge their profile data. Don't mix debug and coverage runs in the same session -- the binary suffix differs and the merge confusion can hide coverage.
- Reports include ONLY the simulation project's sources by default; to include OMNeT++ core or INET add the relevant source roots in your project's build config.
See also
opp-repl-running-simulations— selects what to cover.opp-repl-profiling— orthogonal (time, not coverage).