[short] skip # Hard-wire new coverage for this test. env GOEXPERIMENT=coverageredesign # Baseline run. go test -cover example/foo stdout 'coverage: 50.0% of statements$' # Coverage percentage output should mention -coverpkg selection. go test -coverpkg=example/foo example/foo stdout 'coverage: 50.0% of statements in example/foo' # Try to ask for coverage of a package that doesn't exist. go test -coverpkg nonexistent example/bar stderr 'no packages being tested depend on matches for pattern nonexistent' stdout 'coverage: \[no statements\]' # Ask for foo coverage, but test bar. go test -coverpkg=example/foo example/bar stdout 'coverage: 50.0% of statements in example/foo' # end of test cmds, start of harness and related files. -- go.mod -- module example go 1.18 -- foo/foo.go -- package foo func FooFunc() int { return 42 } func FooFunc2() int { return 42 } -- foo/foo_test.go -- package foo import "testing" func TestFoo(t *testing.T) { if FooFunc() != 42 { t.Fatalf("bad") } } -- bar/bar.go -- package bar import "example/foo" func BarFunc() int { return foo.FooFunc2() } -- bar/bar_test.go -- package bar_test import ( "example/bar" "testing" ) func TestBar(t *testing.T) { if bar.BarFunc() != 42 { t.Fatalf("bad") } } -- baz/baz.go -- package baz func BazFunc() int { return -42 }