1
0
mirror of https://github.com/golang/go synced 2024-11-26 18:26:48 -07:00

internal/coverage: separate out cmd defs to separate package

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 <gobot@golang.org>
Auto-Submit: Than McIntosh <thanm@google.com>
Run-TryBot: Than McIntosh <thanm@google.com>
Reviewed-by: David Chase <drchase@google.com>
This commit is contained in:
Than McIntosh 2023-08-09 08:50:41 -04:00 committed by Gopher Robot
parent ac64a3628b
commit 98bacdeafe
7 changed files with 31 additions and 29 deletions

View File

@ -9,7 +9,7 @@ import (
"flag"
"fmt"
"internal/buildcfg"
"internal/coverage"
"internal/coverage/covcmd"
"internal/platform"
"log"
"os"
@ -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
@ -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)

View File

@ -7,7 +7,7 @@ package main_test
import (
"encoding/json"
"fmt"
"internal/coverage"
"internal/coverage/covcmd"
"internal/testenv"
"os"
"path/filepath"
@ -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,

View File

@ -13,6 +13,7 @@ import (
"go/parser"
"go/token"
"internal/coverage"
"internal/coverage/covcmd"
"internal/coverage/encodemeta"
"internal/coverage/slicewriter"
"io"
@ -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.
`
@ -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)
@ -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),

View File

@ -63,6 +63,7 @@ var bootstrapDirs = []string{
"go/constant",
"internal/abi",
"internal/coverage",
"internal/coverage/covcmd",
"internal/bisect",
"internal/buildcfg",
"internal/goarch",

View File

@ -14,7 +14,7 @@ import (
"errors"
"fmt"
"go/token"
"internal/coverage"
"internal/coverage/covcmd"
"internal/lazyregexp"
"io"
"io/fs"
@ -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

View File

@ -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
@ -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"

View File

@ -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: