diff --git a/src/cmd/cover/func.go b/src/cmd/cover/func.go index fe64374189..988c4caebf 100644 --- a/src/cmd/cover/func.go +++ b/src/cmd/cover/func.go @@ -191,6 +191,10 @@ func findPkgs(profiles []*Profile) (map[string]*Pkg, error) { } } + if len(list) == 0 { + return pkgs, nil + } + // Note: usually run as "go tool cover" in which case $GOROOT is set, // in which case runtime.GOROOT() does exactly what we want. goTool := filepath.Join(runtime.GOROOT(), "bin/go") diff --git a/src/cmd/go/testdata/script/cover_mod_empty.txt b/src/cmd/go/testdata/script/cover_mod_empty.txt new file mode 100644 index 0000000000..3c45243edb --- /dev/null +++ b/src/cmd/go/testdata/script/cover_mod_empty.txt @@ -0,0 +1,9 @@ +go tool cover -func=cover.out +stdout total.*statements.*0.0% + +go mod init golang.org/issue/33855 + +go tool cover -func=cover.out +stdout total.*statements.*0.0% + +-- cover.out --