mirror of
https://github.com/golang/go
synced 2024-11-12 06:30:21 -07:00
a5d7c1f45e
// ERROR "pattern1" "pattern2" means that there has to be one or more lines matching pattern1 and then excluding those, there have to be one or more lines matching pattern2. So if you expect two different error messages from a particular line, writing two separate patterns checks that both errors are produced. Also, errchk now flags lines that produce more errors than expected. Before, as long as at least one error matched the pattern, all the others were ignored. Revise tests to expect or silence these additional errors. R=lvd, r, iant CC=golang-dev https://golang.org/cl/4869044
26 lines
630 B
Go
26 lines
630 B
Go
// errchk $G -e $D/$F.go
|
|
|
|
// Copyright 2009 The Go Authors. All rights reserved.
|
|
// Use of this source code is governed by a BSD-style
|
|
// license that can be found in the LICENSE file.
|
|
|
|
package main
|
|
|
|
type S struct {
|
|
A, B, C, X, Y, Z int
|
|
}
|
|
|
|
type T struct {
|
|
S
|
|
}
|
|
|
|
var x = 1
|
|
var a1 = S { 0, X: 1 } // ERROR "mixture|undefined"
|
|
var a2 = S { Y: 3, Z: 2, Y: 3 } // ERROR "duplicate"
|
|
var a3 = T { S{}, 2, 3, 4, 5, 6 } // ERROR "convert|too many"
|
|
var a4 = [5]byte{ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 } // ERROR "index|too many"
|
|
var a5 = []byte { x: 2 } // ERROR "index"
|
|
|
|
var ok1 = S { } // should be ok
|
|
var ok2 = T { S: ok1 } // should be ok
|