summaryrefslogtreecommitdiffstats
path: root/src/cmd/covdata/doc.go
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-16 19:23:18 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-16 19:23:18 +0000
commit43a123c1ae6613b3efeed291fa552ecd909d3acf (patch)
treefd92518b7024bc74031f78a1cf9e454b65e73665 /src/cmd/covdata/doc.go
parentInitial commit. (diff)
downloadgolang-1.20-43a123c1ae6613b3efeed291fa552ecd909d3acf.tar.xz
golang-1.20-43a123c1ae6613b3efeed291fa552ecd909d3acf.zip
Adding upstream version 1.20.14.upstream/1.20.14upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'src/cmd/covdata/doc.go')
-rw-r--r--src/cmd/covdata/doc.go84
1 files changed, 84 insertions, 0 deletions
diff --git a/src/cmd/covdata/doc.go b/src/cmd/covdata/doc.go
new file mode 100644
index 0000000..924a742
--- /dev/null
+++ b/src/cmd/covdata/doc.go
@@ -0,0 +1,84 @@
+// 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.
+
+/*
+//
+// Covdata is a program for manipulating and generating reports
+// from 2nd-generation coverage testing output files, those produced
+// from running applications or integration tests. E.g.
+//
+// $ mkdir ./profiledir
+// $ go build -cover -o myapp.exe .
+// $ GOCOVERDIR=./profiledir ./myapp.exe <arguments>
+// $ ls ./profiledir
+// covcounters.cce1b350af34b6d0fb59cc1725f0ee27.821598.1663006712821344241
+// covmeta.cce1b350af34b6d0fb59cc1725f0ee27
+// $
+//
+// Run covdata via "go tool covdata <mode>", where 'mode' is a subcommand
+// selecting a specific reporting, merging, or data manipulation operation.
+// Descriptions on the various modes (run "go tool cover <mode> -help" for
+// specifics on usage of a given mode:
+//
+// 1. Report percent of statements covered in each profiled package
+//
+// $ go tool covdata percent -i=profiledir
+// cov-example/p coverage: 41.1% of statements
+// main coverage: 87.5% of statements
+// $
+//
+//
+// 2. Report import paths of packages profiled
+//
+// $ go tool covdata pkglist -i=profiledir
+// cov-example/p
+// main
+// $
+//
+// 3. Report percent statements covered by function:
+//
+// $ go tool covdata func -i=profiledir
+// cov-example/p/p.go:12: emptyFn 0.0%
+// cov-example/p/p.go:32: Small 100.0%
+// cov-example/p/p.go:47: Medium 90.9%
+// ...
+// $
+//
+// 4. Convert coverage data to legacy textual format:
+//
+// $ go tool covdata textfmt -i=profiledir -o=cov.txt
+// $ head cov.txt
+// mode: set
+// cov-example/p/p.go:12.22,13.2 0 0
+// cov-example/p/p.go:15.31,16.2 1 0
+// cov-example/p/p.go:16.3,18.3 0 0
+// cov-example/p/p.go:19.3,21.3 0 0
+// ...
+// $ go tool cover -html=cov.txt
+// $
+//
+// 5. Merge profiles together:
+//
+// $ go tool covdata merge -i=indir1,indir2 -o=outdir -modpaths=github.com/go-delve/delve
+// $
+//
+// 6. Subtract one profile from another
+//
+// $ go tool covdata subtract -i=indir1,indir2 -o=outdir
+// $
+//
+// 7. Intersect profiles
+//
+// $ go tool covdata intersect -i=indir1,indir2 -o=outdir
+// $
+//
+// 8. Dump a profile for debugging purposes.
+//
+// $ go tool covdata debugdump -i=indir
+// <human readable output>
+// $
+//
+*/
+
+package main