# Generic test functions for go-ipfs # Echo the args, run the cmd, and then also fail, # making sure a test case fails. test_fsh() { echo "> $@" eval "$@" echo "" false } # Same as sharness' test_cmp but using test_fsh (to see the output). # We have to do it twice, so the first diff output doesn't show unless it's # broken. test_cmp() { diff -q "$@" >/dev/null || test_fsh diff -u "$@" } # Same as test_cmp above, but we sort files before comparing them. test_sort_cmp() { sort "$1" >"$1_sorted" && sort "$2" >"$2_sorted" && test_cmp "$1_sorted" "$2_sorted" } # Quote arguments for sh eval shellquote() { _space='' for _arg do printf '%s' "$_space" printf '%s' "$(printf '%s' "$_arg" | sed -e "s/'/'\\\\''/g; s/^/'/; s/\$/'/;")" _space=' ' done printf '\n' }