Skip to content

gno test -cover ... #1121

Open
Open
@moul

Description

@moul

Implement a basic code coverage support, and setup CI/CD to start monitoring the coverage status of internal components, through testing the examples/ and gnovm/tests directories.

Bounty Requirements

  • Within the GnoVM, a system is added which keeps a tally of the lines executed
    • Ideally this should be similar to Go's, where simple "increment" statements are added to the appropriate lines; this way the addition of the feature doesn't impact the normal execution performance of the GnoVM
    • Upon investigation, a different approach can be taken if necessary
  • In the gno test command, after each package is tested, if the -cover flag is passed, the VM prints a simple percentage of the covered lines, like the result of go test:
    ok      gno.land/p/demo/...    0.035s  coverage: 75.1% of statements
    
  • what -cover considers a statement to cover should match what Go considers
    • ie. transpiling the source of a Gno program into Go (gno transpile), then running tests, should yield the same %.

Bounty Size: L; expected maximum reward: $4,000.

Find out more on the bounty program. If you participate with intention of receiving the bounty, you must agree to the Bounty Terms and Conditions.

More bounties | Contributing guidelines

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    Status

    Triage

    Status

    Todo

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions