Polling for TCP connection seems cool, but it's a lot of code that's impossible to debug. Rely on the same code inside rpc.py instead. If the connection fails, rpc.py will give us the best error message we can get. Change-Id: I1ca99bb2256a38004269927b057335208cc5d968 Signed-off-by: Darek Stojaczyk <dariusz.stojaczyk@intel.com> Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/1333 Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Reviewed-by: Jim Harris <james.r.harris@intel.com> Reviewed-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com> Reviewed-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com> Community-CI: Mellanox Build Bot
36 lines
816 B
Bash
Executable File
36 lines
816 B
Bash
Executable File
#!/usr/bin/env bash
|
|
|
|
testdir=$(readlink -f $(dirname $0))
|
|
rootdir=$(readlink -f $testdir/../..)
|
|
source $rootdir/test/common/autotest_common.sh
|
|
source $rootdir/test/spdkcli/common.sh
|
|
|
|
function err_cleanup() {
|
|
if [ -n "$socat_pid" ]; then
|
|
killprocess $socat_pid || true
|
|
fi
|
|
killprocess $spdk_tgt_pid
|
|
}
|
|
|
|
IP_ADDRESS="127.0.0.1"
|
|
PORT="9998"
|
|
|
|
trap 'err_cleanup; exit 1' SIGINT SIGTERM EXIT
|
|
|
|
timing_enter run_spdk_tgt_tcp
|
|
$rootdir/app/spdk_tgt/spdk_tgt -m 0x3 -p 0 -s 2048 &
|
|
spdk_tgt_pid=$!
|
|
|
|
waitforlisten $spdk_tgt_pid
|
|
|
|
# socat will terminate automatically after the connection is closed
|
|
socat TCP-LISTEN:$PORT UNIX-CONNECT:$DEFAULT_RPC_ADDR &
|
|
socat_pid=$!
|
|
|
|
$rootdir/scripts/rpc.py -r 100 -t 2 -s $IP_ADDRESS -p $PORT rpc_get_methods
|
|
|
|
timing_exit run_spdk_tgt_tcp
|
|
|
|
trap - SIGINT SIGTERM EXIT
|
|
killprocess $spdk_tgt_pid
|