kubo/test/sharness/lib/iptb-lib.sh
Steven Allen cb0ad0d6ce fix starting iptb nodes with additional arguments
License: MIT
Signed-off-by: Steven Allen <steven@stebalien.com>
2018-07-06 23:33:12 -07:00

59 lines
1.1 KiB
Bash

# iptb test framework
#
# Copyright (c) 2014, 2016 Jeromy Johnson, Christian Couder
# MIT Licensed; see the LICENSE file in this repository.
export IPTB_ROOT="$(pwd)/.iptb"
ipfsi() {
dir="$1"
shift
IPFS_PATH="$IPTB_ROOT/$dir" ipfs "$@"
}
check_has_connection() {
node="$1"
ipfsi "$node" swarm peers >"swarm_peers_$node" &&
grep "ipfs" "swarm_peers_$node" >/dev/null
}
iptb() {
if ! command iptb "$@"; then
case "$1" in
start|stop|connect)
test_fsh command iptb logs '*'
;;
esac
return 1
fi
}
startup_cluster() {
num_nodes="$1"
shift
other_args="$@"
bound=$(expr "$num_nodes" - 1)
if test -n "$other_args"; then
test_expect_success "start up nodes with additional args" "
iptb start --args \"${other_args[@]}\"
"
else
test_expect_success "start up nodes" '
iptb start
'
fi
test_expect_success "connect nodes to eachother" '
iptb connect [1-$bound] 0
'
for i in $(test_seq 0 "$bound")
do
test_expect_success "node $i is connected" '
check_has_connection "$i" ||
test_fsh cat "swarm_peers_$i"
'
done
}