From f582eda4ed0b5729c9406b63479e637d8d011139 Mon Sep 17 00:00:00 2001 From: Gavin Andresen Date: Wed, 12 Feb 2014 21:33:00 -0500 Subject: [PATCH] Make qa/rpc-tests/ compatible with OSX Reworked send.sh, so it works properly on my Mac (killall send.sh doesn't work, because the process name is 'bash' not 'send.sh'). So now send.sh writes a .send.pid file, and invoking it as send.sh -STOP (as the bitcoind -walletnotify) signals that PID. --- qa/rpc-tests/send.sh | 14 ++++++++++++++ qa/rpc-tests/util.sh | 2 +- 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/qa/rpc-tests/send.sh b/qa/rpc-tests/send.sh index fdfb1867b..2c0d5375c 100755 --- a/qa/rpc-tests/send.sh +++ b/qa/rpc-tests/send.sh @@ -1,14 +1,28 @@ #!/bin/bash TIMEOUT=10 SIGNAL=HUP +PIDFILE=.send.pid if [ $# -eq 0 ]; then echo -e "Usage:\t$0 " echo -e "\tRuns and wait ${TIMEOUT} seconds or until SIG${SIGNAL} is received." echo -e "\tReturns: 0 if SIG${SIGNAL} is received, 1 otherwise." + echo -e "Or:\t$0 -STOP" + echo -e "\tsends SIG${SIGNAL} to running send.sh" exit 0 fi + +if [ $1 == "-STOP" ]; then + if [ -s ${PIDFILE} ]; then + kill -s ${SIGNAL} $(<${PIDFILE}) + fi + exit 0 +fi + trap '[[ ${PID} ]] && kill ${PID}' ${SIGNAL} +trap 'rm -f ${PIDFILE}' EXIT +echo $$ > ${PIDFILE} "$@" sleep ${TIMEOUT} & PID=$! wait ${PID} && exit 1 + exit 0 diff --git a/qa/rpc-tests/util.sh b/qa/rpc-tests/util.sh index fed7d3256..d1e4c941c 100644 --- a/qa/rpc-tests/util.sh +++ b/qa/rpc-tests/util.sh @@ -23,7 +23,7 @@ function CreateDataDir { echo "rpcuser=rt" >> $CONF echo "rpcpassword=rt" >> $CONF echo "rpcwait=1" >> $CONF - echo "walletnotify=killall -HUP `basename ${SENDANDWAIT}`" >> $CONF + echo "walletnotify=${SENDANDWAIT} -STOP" >> $CONF shift while (( "$#" )); do echo $1 >> $CONF