cover

package
v0.70.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 31, 2024 License: Apache-2.0 Imports: 5 Imported by: 22

Documentation

Overview

Package cover reports coverage on modules.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

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 added in v0.21.0

func (c *Cover) Config() topdown.TraceConfig

Config returns the standard Tracer configuration for the Cover tracer

func (*Cover) Enabled

func (c *Cover) Enabled() bool

Enabled returns true if coverage is enabled.

func (*Cover) Report

func (c *Cover) Report(modules map[string]*ast.Module) (report Report)

Report returns a coverage Report for the given modules.

func (*Cover) Trace

func (c *Cover) Trace(event *topdown.Event)

Trace updates the coverage state. Deprecated: Use TraceEvent instead.

func (*Cover) TraceEvent added in v0.21.0

func (c *Cover) TraceEvent(event topdown.Event)

TraceEvent updates the coverage state.

type CoverageThresholdError added in v0.10.2

type CoverageThresholdError struct {
	Coverage  float64
	Threshold float64
	Report    *Report
}

CoverageThresholdError represents an error raised when the global code coverage percentage is lower than the specified threshold.

func (*CoverageThresholdError) Error added in v0.10.2

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

type Range struct {
	Start Position `json:"start"`
	End   Position `json:"end"`
}

Range represents a range of positions in a file.

func (Range) In

func (r Range) In(row int) bool

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

func (r Report) IsCovered(file string, row int) bool

IsCovered returns true if the row in the given file is covered.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL