...

Package cover

import "golang.org/x/tools/cover"
Overview
Index

Overview ▾

Package cover provides support for parsing coverage profiles generated by "go test -coverprofile=cover.out".

type Boundary

Boundary represents the position in a source file of the beginning or end of a block as reported by the coverage profile. In HTML mode, it will correspond to the opening or closing of a <span> tag and will be used to colorize the source

type Boundary struct {
    Offset int     // Location as a byte offset in the source file.
    Start  bool    // Is this the start of a block?
    Count  int     // Event count from the cover profile.
    Norm   float64 // Count normalized to [0..1].
    Index  int     // Order in input file.
}

type Profile

Profile represents the profiling data for a specific file.

type Profile struct {
    FileName string
    Mode     string
    Blocks   []ProfileBlock
}

func ParseProfiles

func ParseProfiles(fileName string) ([]*Profile, error)

ParseProfiles parses profile data in the specified file and returns a Profile for each source file described therein.

func ParseProfilesFromReader

func ParseProfilesFromReader(rd io.Reader) ([]*Profile, error)

ParseProfilesFromReader parses profile data from the Reader and returns a Profile for each source file described therein.

func (*Profile) Boundaries

func (p *Profile) Boundaries(src []byte) (boundaries []Boundary)

Boundaries returns a Profile as a set of Boundary objects within the provided src.

type ProfileBlock

ProfileBlock represents a single block of profiling data.

type ProfileBlock struct {
    StartLine, StartCol int
    EndLine, EndCol     int
    NumStmt, Count      int
}