Source File
newcover.go
Belonging Package
testing
// Copyright 2022 The Go Authors. All rights reserved.// Use of this source code is governed by a BSD-style// license that can be found in the LICENSE file.// Support for test coverage with redesigned coverage implementation.package testingimport (_ // for linkname)// cover2 variable stores the current coverage mode and a// tear-down function to be called at the end of the testing run.var cover2 struct {mode stringtearDown func(coverprofile string, gocoverdir string) (string, error)snapshotcov func() float64}// registerCover2 is invoked during "go test -cover" runs.// It is used to record a 'tear down' function// (to be called when the test is complete) and the coverage mode.func ( string, func( string, string) (string, error), func() float64) {if == "" {return}cover2.mode =cover2.tearDown =cover2.snapshotcov =}// coverReport2 invokes a callback in _testmain.go that will// emit coverage data at the point where test execution is complete,// for "go test -cover" runs.func () {if !goexperiment.CoverageRedesign {panic("unexpected")}if , := cover2.tearDown(*coverProfile, *gocoverdir); != nil {fmt.Fprintf(os.Stderr, "%s: %v\n", , )os.Exit(2)}}// coverage2 returns a rough "coverage percentage so far"// number to support the testing.Coverage() function.func () float64 {if cover2.mode == "" {return 0.0}return cover2.snapshotcov()}
The pages are generated with Golds v0.7.6. (GOOS=linux GOARCH=amd64)