#!/bin/sh set -e if which valgrind > /dev/null; then VALGRIND='valgrind --error-exitcode=1 -q --leak-check=full --suppressions=tests/onig.supp' else VALGRIND= fi cat $@ | $VALGRIND ./jq --run-tests d= trap '[ -n "$d" ] && rm -rf "$d"' EXIT d=`mktemp -d -t || true` if [ -z "$d" ]; then echo "Your OS does not support mktemp(1) -d" 1>&2 exit 0 fi cat > "$d/.jq" <&2 exit 1 fi if [ `HOME=$d $VALGRIND ./jq --debug-dump-disasm -n fg | grep '^[a-z]' | wc -l` -gt 3 ]; then echo "Binding too many defs into program" 1>&2 exit 1 fi