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