summaryrefslogtreecommitdiffstats
path: root/src/cmd/go/testdata/script/test_json.txt
blob: 6207c2efd43d711f87296211fe05503600d2b326 (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
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
[compiler:gccgo] skip # gccgo does not have standard packages
[short] skip

env GOCACHE=$WORK/tmp

# Run go test -json on errors m/empty/pkg and m/skipper
# It would be nice to test that the output is interlaced
# but it seems to be impossible to do that in a short test
# that isn't also flaky. Just check that we get JSON output.
go test -json -short -v errors m/empty/pkg m/skipper

# Check errors for run action
stdout '"Package":"errors"'
stdout '"Action":"start","Package":"errors"'
stdout '"Action":"run","Package":"errors"'

# Check m/empty/pkg for output and skip actions
stdout '"Action":"start","Package":"m/empty/pkg"'
stdout '"Action":"output","Package":"m/empty/pkg","Output":".*no test files'
stdout '"Action":"skip","Package":"m/empty/pkg"'

# Check skipper for output and skip actions
stdout '"Action":"start","Package":"m/skipper"'
stdout '"Action":"output","Package":"m/skipper","Test":"Test","Output":"--- SKIP:'
stdout '"Action":"skip","Package":"m/skipper","Test":"Test"'

# Check that starts were ordered properly.
stdout '(?s)"Action":"start","Package":"errors".*"Action":"start","Package":"m/empty/pkg".*"Action":"start","Package":"m/skipper"'

# Run go test -json on errors and check it's cached
go test -json -short -v errors
stdout '"Action":"output","Package":"errors","Output":".*\(cached\)'

go test -json -bench=NONE -short -v errors
stdout '"Package":"errors"'
stdout '"Action":"run"'

# Test running test2json
go test -o $WORK/tmp/errors.test$GOEXE -c errors
go tool test2json -p errors $WORK/tmp/errors.test$GOEXE -test.v -test.short
stdout '"Package":"errors"'
stdout '"Action":"run"'
stdout '\{"Action":"pass","Package":"errors"\}'

-- go.mod --
module m

go 1.16
-- skipper/skip_test.go --
package skipper

import "testing"

func Test(t *testing.T) {
	t.Skip("skipping")
}
-- empty/pkg/pkg.go --
package p
-- empty/pkgtest/pkg.go --
package p
-- empty/pkgtest/test_test.go --
package p
-- empty/pkgtestxtest/pkg.go --
package p
-- empty/pkgtestxtest/test_test.go --
package p
-- empty/pkgtestxtest/xtest_test.go --
package p_test
-- empty/pkgxtest/pkg.go --
package p
-- empty/pkgxtest/xtest_test.go --
package p_test
-- empty/test/test_test.go --
package p
-- empty/testxtest/test_test.go --
package p
-- empty/testxtest/xtest_test.go --
package p_test
-- empty/xtest/xtest_test.go --
package p_test