| #!/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" |