Commit 8179b09e authored by Darek Stojaczyk's avatar Darek Stojaczyk Committed by Tomasz Zawadzki
Browse files

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: default avatarDarek Stojaczyk <dariusz.stojaczyk@intel.com>
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/1333


Tested-by: default avatarSPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: default avatarJim Harris <james.r.harris@intel.com>
Reviewed-by: default avatarShuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com>
Reviewed-by: default avatarTomasz Zawadzki <tomasz.zawadzki@intel.com>
Community-CI: Mellanox Build Bot
parent 00b52bf5
Loading
Loading
Loading
Loading
+1 −40
Original line number Diff line number Diff line
@@ -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