summaryrefslogtreecommitdiff
path: root/misc/cgo/errors/test.bash
blob: 697ae2fed20b55f4322b2322dd2807ee4c9df5c0 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
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