Skip to content

Commit

Permalink
internal/coverage: separate out cmd defs to separate package
Browse files Browse the repository at this point in the history
Relocate the definitions in cmddefs.go (used by the compiler and
the cover tool) to a separate package "covcmd". No change
in functionality, this is a pure refactoring, in preparation
for a subsequent change that will require updating the
imports for the package.

Change-Id: Ic1d277c94d9a574de0a11ec5ed77e892302b9a47
Reviewed-on: https://go-review.googlesource.com/c/go/+/517696
TryBot-Result: Gopher Robot <[email protected]>
Auto-Submit: Than McIntosh <[email protected]>
Run-TryBot: Than McIntosh <[email protected]>
Reviewed-by: David Chase <[email protected]>
  • Loading branch information
thanm authored and gopherbot committed Aug 14, 2023
1 parent ac64a36 commit 98bacde
Show file tree
Hide file tree
Showing 7 changed files with 31 additions and 29 deletions.
14 changes: 7 additions & 7 deletions src/cmd/compile/internal/base/flag.go
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ import (
"flag"
"fmt"
"internal/buildcfg"
"internal/coverage"
"internal/coverage/covcmd"
"internal/platform"
"log"
"os"
Expand Down Expand Up @@ -133,11 +133,11 @@ type CmdFlags struct {
Patterns map[string][]string
Files map[string]string
}
ImportDirs []string // appended to by -I
ImportMap map[string]string // set by -importcfg
PackageFile map[string]string // set by -importcfg; nil means not in use
CoverageInfo *coverage.CoverFixupConfig // set by -coveragecfg
SpectreIndex bool // set by -spectre=index or -spectre=all
ImportDirs []string // appended to by -I
ImportMap map[string]string // set by -importcfg
PackageFile map[string]string // set by -importcfg; nil means not in use
CoverageInfo *covcmd.CoverFixupConfig // set by -coveragecfg
SpectreIndex bool // set by -spectre=index or -spectre=all
// Whether we are adding any sort of code instrumentation, such as
// when the race detector is enabled.
Instrumenting bool
Expand Down Expand Up @@ -504,7 +504,7 @@ func readImportCfg(file string) {
}

func readCoverageCfg(file string) {
var cfg coverage.CoverFixupConfig
var cfg covcmd.CoverFixupConfig
data, err := os.ReadFile(file)
if err != nil {
log.Fatalf("-coveragecfg: %v", err)
Expand Down
4 changes: 2 additions & 2 deletions src/cmd/cover/cfg_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ package main_test
import (
"encoding/json"
"fmt"
"internal/coverage"
"internal/coverage/covcmd"
"internal/testenv"
"os"
"path/filepath"
Expand All @@ -24,7 +24,7 @@ func writeFile(t *testing.T, path string, contents []byte) {
func writePkgConfig(t *testing.T, outdir, tag, ppath, pname string, gran string) string {
incfg := filepath.Join(outdir, tag+"incfg.txt")
outcfg := filepath.Join(outdir, "outcfg.txt")
p := coverage.CoverPkgConfig{
p := covcmd.CoverPkgConfig{
PkgPath: ppath,
PkgName: pname,
Granularity: gran,
Expand Down
7 changes: 4 additions & 3 deletions src/cmd/cover/cover.go
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@ import (
"go/parser"
"go/token"
"internal/coverage"
"internal/coverage/covcmd"
"internal/coverage/encodemeta"
"internal/coverage/slicewriter"
"io"
Expand Down Expand Up @@ -50,7 +51,7 @@ where -pkgcfg points to a file containing the package path,
package name, module path, and related info from "go build",
and -outfilelist points to a file containing the filenames
of the instrumented output files (one per input file).
See https://pkg.go.dev/internal/coverage#CoverPkgConfig for
See https://pkg.go.dev/internal/coverage/covcmd#CoverPkgConfig for
more on the package config.
`

Expand All @@ -72,7 +73,7 @@ var (
pkgcfg = flag.String("pkgcfg", "", "enable full-package instrumentation mode using params from specified config file")
)

var pkgconfig coverage.CoverPkgConfig
var pkgconfig covcmd.CoverPkgConfig

// outputfiles is the list of *.cover.go instrumented outputs to write,
// one per input (set when -pkgcfg is in use)
Expand Down Expand Up @@ -1122,7 +1123,7 @@ func (p *Package) emitMetaData(w io.Writer) {
}
fmt.Fprintf(w, "}\n")

fixcfg := coverage.CoverFixupConfig{
fixcfg := covcmd.CoverFixupConfig{
Strategy: "normal",
MetaVar: mkMetaVar(),
MetaLen: len(payload),
Expand Down
1 change: 1 addition & 0 deletions src/cmd/dist/buildtool.go
Original file line number Diff line number Diff line change
Expand Up @@ -63,6 +63,7 @@ var bootstrapDirs = []string{
"go/constant",
"internal/abi",
"internal/coverage",
"internal/coverage/covcmd",
"internal/bisect",
"internal/buildcfg",
"internal/goarch",
Expand Down
4 changes: 2 additions & 2 deletions src/cmd/go/internal/work/exec.go
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ import (
"errors"
"fmt"
"go/token"
"internal/coverage"
"internal/coverage/covcmd"
"internal/lazyregexp"
"io"
"io/fs"
Expand Down Expand Up @@ -2064,7 +2064,7 @@ func (b *Builder) cover2(a *Action, infiles, outfiles []string, varName string,
func (b *Builder) writeCoverPkgInputs(a *Action, pconfigfile string, covoutputsfile string, outfiles []string) error {
p := a.Package
p.Internal.CoverageCfg = a.Objdir + "coveragecfg"
pcfg := coverage.CoverPkgConfig{
pcfg := covcmd.CoverPkgConfig{
PkgPath: p.ImportPath,
PkgName: p.Name,
// Note: coverage granularity is currently hard-wired to
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.

package coverage
package covcmd

// CoverPkgConfig is a bundle of information passed from the Go
// command to the cover command during "go build -cover" runs. The
Expand Down Expand Up @@ -71,17 +71,3 @@ type CoverFixupConfig struct {
// Counter granularity (perblock or perfunc).
CounterGranularity string
}

// MetaFilePaths contains information generated by the Go command and
// the read in by coverage test support functions within an executing
// "go test -cover" binary.
type MetaFileCollection struct {
ImportPaths []string
MetaFileFragments []string
}

// Name of file within the "go test -cover" temp coverdir directory
// containing a list of meta-data files for packages being tested
// in a "go test -coverpkg=... ..." run. This constant is shared
// by the Go command and by the coverage runtime.
const MetaFilesFileName = "metafiles.txt"
14 changes: 14 additions & 0 deletions src/internal/coverage/defs.go
Original file line number Diff line number Diff line change
Expand Up @@ -261,6 +261,20 @@ func (cm CounterGranularity) String() string {
return "<invalid>"
}

// Name of file within the "go test -cover" temp coverdir directory
// containing a list of meta-data files for packages being tested
// in a "go test -coverpkg=... ..." run. This constant is shared
// by the Go command and by the coverage runtime.
const MetaFilesFileName = "metafiles.txt"

// MetaFilePaths contains information generated by the Go command and
// the read in by coverage test support functions within an executing
// "go test -cover" binary.
type MetaFileCollection struct {
ImportPaths []string
MetaFileFragments []string
}

//.....................................................................
//
// Counter data definitions:
Expand Down

0 comments on commit 98bacde

Please sign in to comment.