< Summary - go-semantic-release Coverage

Information
Line coverage
100%
Covered lines: 7
Uncovered lines: 0
Coverable lines: 7
Total lines: 48
Line coverage: 100%
Branch coverage
N/A
Covered branches: 0
Total branches: 0
Branch coverage: N/A
Method coverage

Feature is only available for sponsors

Upgrade to PRO version

Metrics

MethodBranch coverage Crap Score Cyclomatic complexity Line coverage
SetError0%00100%

File(s)

/home/runner/work/go-semantic-release/go-semantic-release/internal/domain/release_result.go

#LineLine coverage
 1package domain
 2
 3// ReleaseResult captures the outcome of a release execution.
 4type ReleaseResult struct {
 5  Projects []ProjectReleaseResult
 6  DryRun   bool
 7}
 8
 9// ProjectReleaseResult captures the outcome for a single project release.
 10type ProjectReleaseResult struct {
 11  Project        Project
 12  CurrentVersion Version // version before this release
 13  Version        Version // next (released) version
 14  TagName        string
 15  TagCreated     bool
 16  Published      bool
 17  PublishURL     string // e.g. GitHub release URL
 18  Changelog      string // rendered changelog content
 19  // Error holds the per-project failure. It is excluded from JSON serialization
 20  // because encoding/json cannot marshal arbitrary error interfaces. Use
 21  // ErrorMessage for JSON output.
 22  Error        error  `json:"-"`
 23  ErrorMessage string `json:"error,omitempty"` // human-readable form of Error for JSON consumers
 24  Skipped      bool
 25  SkipReason   string
 26}
 27
 28// HasErrors returns true if any project release encountered an error.
 29func (rr ReleaseResult) HasErrors() bool {
 30  for i := range rr.Projects {
 31    if rr.Projects[i].Error != nil {
 32      return true
 33    }
 34  }
 35  return false
 36}
 37
 38// SetError sets both the Error and ErrorMessage fields atomically, keeping
 39// them consistent. Use this instead of assigning the fields individually to
 40// prevent them from diverging.
 441func (pr *ProjectReleaseResult) SetError(err error) {
 442  pr.Error = err
 343  if err != nil {
 344    pr.ErrorMessage = err.Error()
 145  } else {
 146    pr.ErrorMessage = ""
 147  }
 48}

Methods/Properties

SetError