diff options
| author | Russ Cox <rsc@golang.org> | 2013-10-18 16:52:44 -0400 |
|---|---|---|
| committer | Russ Cox <rsc@golang.org> | 2013-10-18 16:52:44 -0400 |
| commit | dbe2eacf04898a9c77684424ec7c62700d08fb0c (patch) | |
| tree | ffe1a1a92235407f6c6b4ef8e811da0a49f21e89 /misc/cgo/errors/test.bash | |
| parent | 06ad3b2de1c6608d3ec3139f7daddb67dc03e1cc (diff) | |
| download | go-dbe2eacf04898a9c77684424ec7c62700d08fb0c.tar.xz | |
cmd/cgo: fix line number in an error message
Fixes #6563.
R=golang-dev, iant
CC=golang-dev
https://golang.org/cl/14870046
Diffstat (limited to 'misc/cgo/errors/test.bash')
| -rwxr-xr-x | misc/cgo/errors/test.bash | 38 |
1 files changed, 25 insertions, 13 deletions
diff --git a/misc/cgo/errors/test.bash b/misc/cgo/errors/test.bash index e9fa6d0195..697ae2fed2 100755 --- a/misc/cgo/errors/test.bash +++ b/misc/cgo/errors/test.bash @@ -2,18 +2,30 @@ # Use of this source code is governed by a BSD-style # license that can be found in the LICENSE file. -if go tool cgo err1.go >errs 2>&1; then - echo 1>&2 misc/cgo/errors/test.bash: BUG: expected cgo to fail but it succeeded - exit 1 -fi -if ! test -s errs; then - echo 1>&2 misc/cgo/errors/test.bash: BUG: expected error output but saw none - exit 1 -fi -if ! fgrep err1.go:7 errs >/dev/null 2>&1; then - echo 1>&2 misc/cgo/errors/test.bash: BUG: expected error on line 7 but saw: - cat 1>&2 errs - exit 1 -fi +check() { + file=$1 + line=$(grep -n 'ERROR HERE' $file | sed 's/:.*//') + if [ "$line" = "" ]; then + echo 1>&2 misc/cgo/errors/test.bash: BUG: cannot find ERROR HERE in $file + exit 1 + fi + if go build $file >errs 2>&1; then + echo 1>&2 misc/cgo/errors/test.bash: BUG: expected cgo to fail but it succeeded + exit 1 + fi + if ! test -s errs; then + echo 1>&2 misc/cgo/errors/test.bash: BUG: expected error output but saw none + exit 1 + fi + if ! fgrep $file:$line: errs >/dev/null 2>&1; then + echo 1>&2 misc/cgo/errors/test.bash: BUG: expected error on line $line but saw: + cat 1>&2 errs + exit 1 + fi +} + +check err1.go +check err2.go + rm -rf errs _obj exit 0 |
