Text file src/cmd/go/testdata/script/cover_coverprofile_nocoverpkg.txt

     1  # Testcase for #70244. In this bug we're doing a "go test -coverprofile"
     2  # run for a pair of packages, the first one without tests and the second
     3  # one with tests. When writing the profile for the second test, profile
     4  # data from the first package was leaking into the output (we should
     5  # only see lines in the output profile for the package whose test is
     6  # being run).
     7  
     8  [short] skip
     9  
    10  # Kick off test.
    11  go test -vet=off -count=1 -coverprofile=cov.p ./...
    12  
    13  # Generate a function profile.
    14  go tool cover -func=cov.p
    15  
    16  # Prior to GOEXPERIMENT=coverageredesign we should see no output at all for
    17  # pkg1 (since it has no tests).
    18  [!GOEXPERIMENT:coverageredesign] ! stdout 'pkg1'
    19  
    20  # With GOEXPERIMENT=coverageredesign enabled we should see zero percent
    21  # coverage for pkg1's DoSomething, not 100% (as in the bug).
    22  [GOEXPERIMENT:coverageredesign] stdout 'cov/pkg1/file.go:3:\s+DoSomething\s+0.0%'
    23  
    24  -- go.mod --
    25  module cov
    26  
    27  -- pkg1/file.go --
    28  package pkg1
    29  
    30  func DoSomething() bool {
    31  	return true
    32  }
    33  -- pkg2/file.go --
    34  package pkg2
    35  
    36  func DoSomething() bool {
    37  	return true
    38  }
    39  -- pkg2/file_test.go --
    40  package pkg2
    41  
    42  import (
    43  	"cov/pkg1"
    44  	"testing"
    45  )
    46  
    47  func TestSmth(t *testing.T) {
    48  	pkg1.DoSomething()
    49  	DoSomething()
    50  }
    51  

View as plain text