test/spdkcli/tcp: general cleanup

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
This commit is contained in:
Darek Stojaczyk 2020-03-17 12:04:22 +01:00 committed by Tomasz Zawadzki
parent 00b52bf5dd
commit 8179b09e99

View File

@ -12,44 +12,6 @@ function err_cleanup() {
killprocess $spdk_tgt_pid
}
function waitfortcplisten() {
# $1 = process pid
if [ -z "$1" ]; then
exit 1
fi
local ipaddr=$2
local port=$3
echo "Waiting for process to start up and listen on TCP/IP Socket $ipaddr:$port..."
# turn off trace for this loop
xtrace_disable
local ret=0
local i
for ((i = 40; i != 0; i--)); do
# if the process is no longer running, then exit the script
# since it means the application crashed
if ! kill -s 0 $1; then
echo "ERROR: process (pid: $1) is no longer running"
ret=1
break
fi
if $rootdir/scripts/rpc.py -t 1 -s "$ipaddr" -p $port rpc_get_methods &> /dev/null; then
break
fi
sleep 0.5
done
xtrace_restore
if ((i == 0)); then
echo "ERROR: timeout while waiting for process (pid: $1) to start listening on '$ipaddr:$port'"
ret=1
fi
return $ret
}
IP_ADDRESS="127.0.0.1"
PORT="9998"
@ -65,8 +27,7 @@ waitforlisten $spdk_tgt_pid
socat TCP-LISTEN:$PORT UNIX-CONNECT:$DEFAULT_RPC_ADDR &
socat_pid=$!
# This will issue a rpc request to the spdk target thus validating tcp
waitfortcplisten $spdk_tgt_pid $IP_ADDRESS $PORT
$rootdir/scripts/rpc.py -r 100 -t 2 -s $IP_ADDRESS -p $PORT rpc_get_methods
timing_exit run_spdk_tgt_tcp