package cover
import "github.com/open-policy-agent/opa/v1/cover"
Package cover reports coverage on modules.
Index ¶
- type Cover
- func New() *Cover
- func (*Cover) Config() topdown.TraceConfig
- func (*Cover) Enabled() bool
- func (c *Cover) Report(modules map[string]*ast.Module) (report Report)
- func (c *Cover) Trace(event *topdown.Event)
- func (c *Cover) TraceEvent(event topdown.Event)
- type CoverageThresholdError
- type FileReport
- type Position
- type PositionSlice
- type Range
- type Report
Types ¶
type Cover ¶
type Cover struct {
// contains filtered or unexported fields
}
Cover computes and reports on coverage.
func New ¶
func New() *Cover
New returns a new Cover object.
func (*Cover) Config ¶
func (*Cover) Config() topdown.TraceConfig
Config returns the standard Tracer configuration for the Cover tracer
func (*Cover) Enabled ¶
Enabled returns true if coverage is enabled.
func (*Cover) Report ¶
Report returns a coverage Report for the given modules.
func (*Cover) Trace ¶
Trace updates the coverage state. Deprecated: Use TraceEvent instead.
func (*Cover) TraceEvent ¶
TraceEvent updates the coverage state.
type CoverageThresholdError ¶
CoverageThresholdError represents an error raised when the global code coverage percentage is lower than the specified threshold.
func (*CoverageThresholdError) Error ¶
func (e *CoverageThresholdError) Error() string
type FileReport ¶
type FileReport struct { Covered []Range `json:"covered,omitempty"` NotCovered []Range `json:"not_covered,omitempty"` CoveredLines int `json:"covered_lines,omitempty"` NotCoveredLines int `json:"not_covered_lines,omitempty"` Coverage float64 `json:"coverage,omitempty"` }
FileReport represents a coverage report for a single file.
func (*FileReport) IsCovered ¶
func (fr *FileReport) IsCovered(row int) bool
IsCovered returns true if the row is marked as covered in the report.
func (*FileReport) IsNotCovered ¶
func (fr *FileReport) IsNotCovered(row int) bool
IsNotCovered returns true if the row is marked as NOT covered in the report. This is not the same as simply not being reported. For example, certain statements like imports are not included in the report.
type Position ¶
type Position struct { Row int `json:"row"` }
Position represents a file location.
type PositionSlice ¶
type PositionSlice []Position
PositionSlice is a collection of position that can be sorted.
func (PositionSlice) Sort ¶
func (sl PositionSlice) Sort()
Sort sorts the slice by line number.
type Range ¶
Range represents a range of positions in a file.
func (Range) In ¶
In returns true if the row is inside the range.
type Report ¶
type Report struct { Files map[string]*FileReport `json:"files"` CoveredLines int `json:"covered_lines"` NotCoveredLines int `json:"not_covered_lines"` Coverage float64 `json:"coverage"` }
Report represents a coverage report for a set of files.
func (Report) IsCovered ¶
IsCovered returns true if the row in the given file is covered.
Source Files ¶
- Version
- v1.4.2 (latest)
- Published
- May 2, 2025
- Platform
- linux/amd64
- Imports
- 6 packages
- Last checked
- 5 hours ago –
Tools for package owners.