Home | History | Annotate | Download | only in errors
      1 #!/usr/bin/env bash
      2 
      3 # Copyright 2013 The Go Authors. All rights reserved.
      4 # Use of this source code is governed by a BSD-style
      5 # license that can be found in the LICENSE file.
      6 
      7 check() {
      8 	file=$1
      9 	line=$(grep -n 'ERROR HERE' $file | sed 's/:.*//')
     10 	if [ "$line" = "" ]; then
     11 		echo 1>&2 misc/cgo/errors/test.bash: BUG: cannot find ERROR HERE in $file
     12 		exit 1
     13 	fi
     14 	if go build $file >errs 2>&1; then
     15 		echo 1>&2 misc/cgo/errors/test.bash: BUG: expected cgo to fail but it succeeded
     16 		exit 1
     17 	fi
     18 	if ! test -s errs; then
     19 		echo 1>&2 misc/cgo/errors/test.bash: BUG: expected error output but saw none
     20 		exit 1
     21 	fi
     22 	if ! fgrep $file:$line: errs >/dev/null 2>&1; then
     23 		echo 1>&2 misc/cgo/errors/test.bash: BUG: expected error on line $line but saw:
     24 		cat 1>&2 errs
     25 		exit 1
     26 	fi
     27 }
     28 
     29 check err1.go
     30 check err2.go
     31 check err3.go
     32 check issue7757.go
     33 check issue8442.go
     34 
     35 rm -rf errs _obj
     36 exit 0
     37