]> Cypherpunks repositories - gostls13.git/commitdiff
govet: automate test
authorRuss Cox <rsc@golang.org>
Thu, 30 Jun 2011 14:26:11 +0000 (10:26 -0400)
committerRuss Cox <rsc@golang.org>
Thu, 30 Jun 2011 14:26:11 +0000 (10:26 -0400)
R=golang-dev, r
CC=golang-dev
https://golang.org/cl/4629084

src/cmd/govet/Makefile
src/cmd/govet/govet.go
src/pkg/Makefile

index 291b271976d5892ca30c05ea620d2dbaabebe81b..f565b78f5c0641297baaf8000682edddf02d0c73 100644 (file)
@@ -9,3 +9,6 @@ GOFILES=\
        govet.go\
 
 include ../../Make.cmd
+
+test testshort: $(TARG)
+       ../../../test/errchk $(TARG) -printfuncs='Warn:1,Warnf:1' govet.go
index 28652676fd700d86aa1f498fa2e526ed6a361b8b..5b24d2ff0305818a931707433972ac5d56d40a3f 100644 (file)
@@ -379,23 +379,24 @@ func (f *File) checkPrint(call *ast.CallExpr, name string, skip int) {
 }
 
 // This function never executes, but it serves as a simple test for the program.
-// Test with govet -printfuncs="Bad:1,Badf:1,Warn:1,Warnf:1" govet.go
+// Test with make test.
 func BadFunctionUsedInTests() {
-       fmt.Println()                      // niladic call
-       fmt.Println("%s", "hi")            // % in call to Println
-       fmt.Printf("%s", "hi", 3)          // wrong # percents
-       fmt.Printf("%s%%%d", "hi", 3)      // right # percents
-       fmt.Printf("%.*d", 3, 3)           // right # percents, with a *
-       fmt.Printf("%.*d", 3, 3, 3)        // wrong # percents, with a *
-       printf("now is the time", "buddy") // no %s
-       Printf("now is the time", "buddy") // no %s
+       fmt.Println()                      // not an error
+       fmt.Println("%s", "hi")            // ERROR "possible formatting directive in Println call"
+       fmt.Printf("%s", "hi", 3)          // ERROR "wrong number of args in Printf call"
+       fmt.Printf("%s%%%d", "hi", 3)      // correct
+       fmt.Printf("%.*d", 3, 3)           // correct
+       fmt.Printf("%.*d", 3, 3, 3)        // ERROR "wrong number of args in Printf call"
+       printf("now is the time", "buddy") // ERROR "no formatting directive"
+       Printf("now is the time", "buddy") // ERROR "no formatting directive"
+       Printf("hi")                       // ok
        f := new(File)
-       f.Warn(0, "%s", "hello", 3)  // % in call to added function
-       f.Warnf(0, "%s", "hello", 3) // wrong # %s in call to added function
+       f.Warn(0, "%s", "hello", 3)  // ERROR "possible formatting directive in Warn call"
+       f.Warnf(0, "%s", "hello", 3) // ERROR "wrong number of args in Warnf call"
 }
 
 type BadTypeUsedInTests struct {
-       X int "hello" // struct field not well-formed
+       X int "hello" // ERROR "struct field tag"
 }
 
 // printf is used by the test.
index ca6dcea9bcc6b8a36c1ed93d0678ce2eeda0b020..575f51fec64c79f4ca843a5ab1fa7a93651f5276 100644 (file)
@@ -241,7 +241,6 @@ NOTEST+=\
        ../cmd/godoc\
        ../cmd/goinstall\
        ../cmd/gotest\
-       ../cmd/govet\
        ../cmd/goyacc\
        ../cmd/hgpatch\