// 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 string tearDown 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 registerCover2( 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 coverReport2() {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 coverage2() float64 {ifcover2.mode == "" {return0.0 }returncover2.snapshotcov()}
The pages are generated with Goldsv0.7.0-preview. (GOOS=linux GOARCH=amd64)
Golds is a Go 101 project developed by Tapir Liu.
PR and bug reports are welcome and can be submitted to the issue list.
Please follow @zigo_101 (reachable from the left QR code) to get the latest news of Golds.