gitee.com/wgliang/goreporter@v0.0.0-20180902115603-df1b20f7c5d0/linters/golint/testdata/errors.go (about)

     1  // Test for naming errors.
     2  
     3  // Package foo ...
     4  package foo
     5  
     6  import (
     7  	"errors"
     8  	"fmt"
     9  )
    10  
    11  var unexp = errors.New("some unexported error") // MATCH /error var.*unexp.*errFoo/
    12  
    13  // Exp ...
    14  var Exp = errors.New("some exported error") // MATCH /error var.*Exp.*ErrFoo/
    15  
    16  var (
    17  	e1 = fmt.Errorf("blah %d", 4) // MATCH /error var.*e1.*errFoo/
    18  	// E2 ...
    19  	E2 = fmt.Errorf("blah %d", 5) // MATCH /error var.*E2.*ErrFoo/
    20  )
    21  
    22  func f() {
    23  	var whatever = errors.New("ok") // ok
    24  	_ = whatever
    25  }
    26  
    27  // Check for the error strings themselves.
    28  
    29  func g(x int) error {
    30  	var err error
    31  	err = fmt.Errorf("This %d is too low", x)     // MATCH /error strings.*be capitalized/
    32  	err = fmt.Errorf("XML time")                  // ok
    33  	err = fmt.Errorf("newlines are fun\n")        // MATCH /error strings.*end with punctuation/
    34  	err = fmt.Errorf("Newlines are really fun\n") // MATCH /error strings.+not be capitalized/
    35  	err = errors.New(`too much stuff.`)           // MATCH /error strings.*end with punctuation/
    36  	return err
    37  }