blob: 97a1d2cbbb0c856baa4fd532d56eb4e41f217042 [file] [log] [blame]
[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
}