diff options
Diffstat (limited to 'qa')
-rwxr-xr-x | qa/rpc-tests/send.sh | 14 | ||||
-rw-r--r-- | qa/rpc-tests/util.sh | 5 | ||||
-rwxr-xr-x | qa/rpc-tests/wallet.sh | 1 |
3 files changed, 18 insertions, 2 deletions
diff --git a/qa/rpc-tests/send.sh b/qa/rpc-tests/send.sh new file mode 100755 index 0000000000..fdfb1867bc --- /dev/null +++ b/qa/rpc-tests/send.sh @@ -0,0 +1,14 @@ +#!/bin/bash +TIMEOUT=10 +SIGNAL=HUP +if [ $# -eq 0 ]; then + echo -e "Usage:\t$0 <cmd>" + echo -e "\tRuns <cmd> and wait ${TIMEOUT} seconds or until SIG${SIGNAL} is received." + echo -e "\tReturns: 0 if SIG${SIGNAL} is received, 1 otherwise." + exit 0 +fi +trap '[[ ${PID} ]] && kill ${PID}' ${SIGNAL} +"$@" +sleep ${TIMEOUT} & PID=$! +wait ${PID} && exit 1 +exit 0 diff --git a/qa/rpc-tests/util.sh b/qa/rpc-tests/util.sh index e4e3953748..fed7d32561 100644 --- a/qa/rpc-tests/util.sh +++ b/qa/rpc-tests/util.sh @@ -23,6 +23,7 @@ function CreateDataDir { echo "rpcuser=rt" >> $CONF echo "rpcpassword=rt" >> $CONF echo "rpcwait=1" >> $CONF + echo "walletnotify=killall -HUP `basename ${SENDANDWAIT}`" >> $CONF shift while (( "$#" )); do echo $1 >> $CONF @@ -59,7 +60,7 @@ function Send { to=$2 amount=$3 address=$(Address $to) - txid=$( $CLI $from sendtoaddress $address $amount ) + txid=$( ${SENDANDWAIT} $CLI $from sendtoaddress $address $amount ) } # Use: Unspent <datadir> <n'th-last-unspent> <var> @@ -80,7 +81,7 @@ function CreateTxn1 { # Use: SendRawTxn <datadir> <hex_txn_data> function SendRawTxn { - $CLI $1 sendrawtransaction $2 + ${SENDANDWAIT} $CLI $1 sendrawtransaction $2 } # Use: GetBlocks <datadir> diff --git a/qa/rpc-tests/wallet.sh b/qa/rpc-tests/wallet.sh index 118809a265..8d5a6cdc78 100755 --- a/qa/rpc-tests/wallet.sh +++ b/qa/rpc-tests/wallet.sh @@ -12,6 +12,7 @@ BITCOIND=${1}/bitcoind CLI=${1}/bitcoin-cli DIR="${BASH_SOURCE%/*}" +SENDANDWAIT="${DIR}/send.sh" if [[ ! -d "$DIR" ]]; then DIR="$PWD"; fi . "$DIR/util.sh" |