It turns out that some planned additions to the parser make it so that the map type definition can be ambiguous. As a result, this patch updates the definition so that the map definition is not confused with an open curly bracket anywhere. Thanks to pestle and stbenjamin for their help understanding yacc!
44 lines
1.0 KiB
Bash
Executable File
44 lines
1.0 KiB
Bash
Executable File
#!/bin/bash
|
|
# check that our examples still build, even if we don't run them here
|
|
|
|
# shellcheck disable=SC1091
|
|
. test/util.sh
|
|
|
|
echo running "$0"
|
|
|
|
ROOT=$(dirname "${BASH_SOURCE}")/..
|
|
cd "${ROOT}"
|
|
|
|
failures=''
|
|
|
|
# TODO: test examples/lang/ directory to see if the .mcl files compile correctly
|
|
|
|
buildout='test-examples.out'
|
|
# make symlink to outside of package
|
|
linkto="`pwd`/examples/lib/"
|
|
tmpdir="`$mktemp --tmpdir -d tmp.XXX`" # get a dir outside of the main package
|
|
cd "$tmpdir"
|
|
ln -s "$linkto" # symlink outside of dir
|
|
cd `basename "$linkto"`
|
|
|
|
# loop through individual *.go files in working dir
|
|
for file in `find . -maxdepth 3 -type f -name '*.go'`; do
|
|
#echo "running test on: $file"
|
|
run-test go build -i -o "$buildout" "$file" || fail_test "could not build: $file"
|
|
done
|
|
rm "$buildout" || true # clean up build mess
|
|
|
|
cd - >/dev/null # back to tmp dir
|
|
rm `basename "$linkto"`
|
|
cd ..
|
|
rmdir "$tmpdir" # cleanup
|
|
|
|
if [[ -n "$failures" ]]; then
|
|
echo 'FAIL'
|
|
echo "The following tests (in: ${linkto}) have failed:"
|
|
echo -e "$failures"
|
|
echo
|
|
exit 1
|
|
fi
|
|
echo 'PASS'
|