| #!/usr/bin/env bash |
| # Copyright 2011 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. |
| |
| eval $(gomake --no-print-directory -f ../../Make.inc go-env) |
| |
| TMP="testdata_tmp.go" |
| TEST="testdata.c" |
| GOLDEN="testdata_${GOOS}_${GOARCH}.golden" |
| |
| case ${GOARCH} in |
| "amd64") CCARG="-f-m64";; |
| "386") CCARG="-f-m32";; |
| *) CCARG="";; |
| esac |
| |
| cleanup() { |
| rm ${TMP} |
| } |
| |
| error() { |
| cleanup |
| echo $1 |
| exit 1 |
| } |
| |
| if [ ! -e ${GOLDEN} ]; then |
| echo "skipping - no golden defined for this platform" |
| exit |
| fi |
| |
| ./godefs -g test ${CCARG} ${TEST} > ${TMP} |
| if [ $? != 0 ]; then |
| error "Error: Could not run godefs for ${TEST}" |
| fi |
| |
| diff ${TMP} ${GOLDEN} |
| if [ $? != 0 ]; then |
| error "FAIL: godefs for ${TEST} did not match ${GOLDEN}" |
| fi |
| |
| cleanup |
| |
| echo "PASS" |