libgo: update to go1.9
[official-gcc.git] / libgo / misc / cgo / errors / test.bash
blobed0b0946925b4b7dfedc9752879776a443ab7125
1 #!/usr/bin/env bash
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.
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
14 expect $file $file:$line:
17 expect() {
18 file=$1
19 shift
20 if go build -gcflags=-C $file >errs 2>&1; then
21 echo 1>&2 misc/cgo/errors/test.bash: BUG: expected cgo to fail on $file but it succeeded
22 exit 1
24 if ! test -s errs; then
25 echo 1>&2 misc/cgo/errors/test.bash: BUG: expected error output for $file but saw none
26 exit 1
28 for error; do
29 if ! fgrep $error errs >/dev/null 2>&1; then
30 echo 1>&2 misc/cgo/errors/test.bash: BUG: expected error output for $file to contain \"$error\" but saw:
31 cat 1>&2 errs
32 exit 1
34 done
37 check err1.go
38 check err2.go
39 check err3.go
40 check issue7757.go
41 check issue8442.go
42 check issue11097a.go
43 check issue11097b.go
44 expect issue13129.go C.ushort
45 check issue13423.go
46 expect issue13635.go C.uchar C.schar C.ushort C.uint C.ulong C.longlong C.ulonglong C.complexfloat C.complexdouble
47 check issue13830.go
48 check issue16116.go
49 check issue16591.go
50 check issue18889.go
51 expect issue18452.go issue18452.go:16 issue18452.go:17
53 if ! go build issue14669.go; then
54 exit 1
56 if ! CGO_CFLAGS="-O" go build issue14669.go; then
57 exit 1
60 if ! go run ptr.go; then
61 exit 1
64 # The malloc.go test should crash.
65 rm -f malloc.out
66 if go run malloc.go >malloc.out 2>&1; then
67 echo '`go run malloc.go` succeeded unexpectedly'
68 cat malloc.out
69 rm -f malloc.out
70 exit 1
72 rm -f malloc.out
74 rm -rf errs _obj
75 exit 0