...

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

Documentation: cmd/go/testdata/script

     1
     2# Rudimentary test of testing.Coverage().
     3
     4[short] skip
     5
     6# Simple test.
     7go test -v -cover -count=1
     8
     9# Make sure test still passes when test executable is built and
    10# run outside the go command.
    11go test -c -o t.exe -cover
    12exec ./t.exe
    13
    14-- go.mod --
    15module hello
    16
    17go 1.20
    18-- hello.go --
    19package hello
    20
    21func Hello() {
    22	println("hello")
    23}
    24
    25// contents not especially interesting, just need some code
    26func foo(n int) int {
    27	t := 0
    28	for i := 0; i < n; i++ {
    29		for j := 0; j < i; j++ {
    30			t += i ^ j
    31			if t == 1010101 {
    32				break
    33			}
    34		}
    35	}
    36	return t
    37}
    38
    39-- hello_test.go --
    40package hello
    41
    42import "testing"
    43
    44func TestTestCoverage(t *testing.T) {
    45	Hello()
    46	C1 := testing.Coverage()
    47	foo(29)
    48	C2 := testing.Coverage()
    49	if C1 == 0.0 || C2 == 0.0 {
    50		t.Errorf("unexpected zero values C1=%f C2=%f", C1, C2)
    51	}
    52	if C1 >= C2 {
    53		t.Errorf("testing.Coverage() not monotonically increasing C1=%f C2=%f", C1, C2)
    54	}
    55}
    56

View as plain text