summaryrefslogtreecommitdiff
path: root/misc/cgo/errors/test.bash
diff options
context:
space:
mode:
Diffstat (limited to 'misc/cgo/errors/test.bash')
-rwxr-xr-xmisc/cgo/errors/test.bash31
1 files changed, 31 insertions, 0 deletions
diff --git a/misc/cgo/errors/test.bash b/misc/cgo/errors/test.bash
new file mode 100755
index 000000000..697ae2fed
--- /dev/null
+++ b/misc/cgo/errors/test.bash
@@ -0,0 +1,31 @@
+# Copyright 2013 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.
+
+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