summaryrefslogtreecommitdiff
path: root/src/cmd/vet/testdata/testingpkg/tests_test.go
blob: f5bbc3922a99f1938b567c8c2156ad46314417c7 (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
package testdata

import (
	"testing"
)

// Buf is a ...
type Buf []byte

// Append ...
func (*Buf) Append([]byte) {}

func (Buf) Reset() {}

func (Buf) Len() int { return 0 }

// DefaultBuf is a ...
var DefaultBuf Buf

func Example() {} // OK because is package-level.

func Example_goodSuffix() // OK because refers to suffix annotation.

func Example_BadSuffix() // ERROR "Example_BadSuffix has malformed example suffix: BadSuffix"

func ExampleBuf() // OK because refers to known top-level type.

func ExampleBuf_Append() {} // OK because refers to known method.

func ExampleBuf_Clear() {} // ERROR "ExampleBuf_Clear refers to unknown field or method: Buf.Clear"

func ExampleBuf_suffix() {} // OK because refers to suffix annotation.

func ExampleBuf_Append_Bad() {} // ERROR "ExampleBuf_Append_Bad has malformed example suffix: Bad"

func ExampleBuf_Append_suffix() {} // OK because refers to known method with valid suffix.

func ExampleDefaultBuf() {} // OK because refers to top-level identifier.

func ExampleBuf_Reset() bool { return true } // ERROR "ExampleBuf_Reset should return nothing"

func ExampleBuf_Len(i int) {} // ERROR "ExampleBuf_Len should be niladic"

// "Puffer" is German for "Buffer".

func ExamplePuffer() // ERROR "ExamplePuffer refers to unknown identifier: Puffer"

func ExamplePuffer_Append() // ERROR "ExamplePuffer_Append refers to unknown identifier: Puffer"

func ExamplePuffer_suffix() // ERROR "ExamplePuffer_suffix refers to unknown identifier: Puffer"

func nonTest() {} // OK because it doesn't start with "Test".

func (Buf) TesthasReceiver() {} // OK because it has a receiver.

func TestOKSuffix(*testing.T) {} // OK because first char after "Test" is Uppercase.

func TestÜnicodeWorks(*testing.T) {} // OK because the first char after "Test" is Uppercase.

func TestbadSuffix(*testing.T) {} // ERROR "first letter after 'Test' must not be lowercase"

func TestemptyImportBadSuffix(*T) {} // ERROR "first letter after 'Test' must not be lowercase"

func Test(*testing.T) {} // OK "Test" on its own is considered a test.

func Testify() {} // OK because it takes no parameters.

func TesttooManyParams(*testing.T, string) {} // OK because it takes too many parameters.

func TesttooManyNames(a, b *testing.T) {} // OK because it takes too many names.

func TestnoTParam(string) {} // OK because it doesn't take a *testing.T

func BenchmarkbadSuffix(*testing.B) {} // ERROR "first letter after 'Benchmark' must not be lowercase"