1
0
mirror of https://github.com/ipfs/kubo.git synced 2025-10-25 18:36:26 +08:00
Files
kubo/test/ipfs-test-lib.sh
Christian Couder 1bd182055b ipfs-test-lib: add shellquote()
This function can be usefull in many places.

See for example:

https://github.com/ipfs/go-ipfs/pull/1742

Git has `git rev-parse --sq-quote` that does the same thing.

License: MIT
Signed-off-by: Christian Couder <chriscool@tuxfamily.org>
2015-09-27 09:11:25 +02:00

37 lines
779 B
Bash

# 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' "$_arg" | sed -e "s/'/'\\\\''/g; s/^/'/; s/\$/'/;"
_space=' '
done
printf '\n'
}