package cfile
Import Path
internal/coverage/cfile (on go.dev)
Dependency Relation
imports 24 packages, and imported by one package
Involved Source Files
apis.go
Package cfile implements management of coverage files.
It provides functionality exported in runtime/coverage as well as
additional functionality used directly by package testing
through testing/internal/testdeps.
hooks.go
testsupport.go
Package-Level Functions (total 9)
ClearCounters implements [runtime/coverage.ClearCounters].
InitHook is invoked from the main package "init" routine in
programs built with "-cover". This function is intended to be
called only by the compiler (via runtime/coverage.initHook).
If 'istest' is false, it indicates we're building a regular program
("go build -cover ..."), in which case we immediately try to write
out the meta-data file, and register emitCounterData as an exit
hook.
If 'istest' is true (indicating that the program in question is a
Go test binary), then we tentatively queue up both emitMetaData and
emitCounterData as exit hooks. In the normal case (e.g. regular "go
test -cover" run) the testmain.go boilerplate will run at the end
of the test, write out the coverage percentage, and then invoke
MarkProfileEmitted to indicate that no more work needs to be
done. If however that call is never made, this is a sign that the
test binary is being used as a replacement binary for the tool
being tested, hence we do want to run exit hooks when the program
terminates.
MarkProfileEmitted signals the coverage machinery that
coverage data output files have already been written out, and there
is no need to take any additional action at exit time. This
function is called from the coverage-related boilerplate code in _testmain.go
emitted for go unit tests.
ProcessCoverTestDir is called from
testmain code when "go test -cover" is in effect. It is not
intended to be used other than internally by the Go command's
generated code.
Snapshot returns a snapshot of coverage percentage at a moment of
time within a running test, so as to support the testing.Coverage()
function. This version doesn't examine coverage meta-data, so the
result it returns will be less accurate (more "slop") due to the
fact that we don't look at the meta data to see how many statements
are associated with each counter.
WriteCounters implements [runtime/coverage.WriteCounters].
WriteCountersDir implements [runtime/coverage.WriteCountersDir].
WriteMeta implements [runtime/coverage.WriteMeta].
WriteMetaDir implements [runtime/coverage.WriteMetaDir].
The pages are generated with Golds v0.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. |