aboutsummaryrefslogtreecommitdiff
path: root/misc/cgo/errors/test.bash
diff options
context:
space:
mode:
authorRuss Cox <rsc@golang.org>2013-10-18 16:52:44 -0400
committerRuss Cox <rsc@golang.org>2013-10-18 16:52:44 -0400
commitdbe2eacf04898a9c77684424ec7c62700d08fb0c (patch)
treeffe1a1a92235407f6c6b4ef8e811da0a49f21e89 /misc/cgo/errors/test.bash
parent06ad3b2de1c6608d3ec3139f7daddb67dc03e1cc (diff)
downloadgo-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-xmisc/cgo/errors/test.bash38
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