From 07bed61204f45ad4911aa8eb896b4efc6e3766b7 Mon Sep 17 00:00:00 2001 From: Alexander van Amesfoort <amesfoort@astron.nl> Date: Wed, 10 Feb 2016 14:15:19 +0000 Subject: [PATCH] Task #9082: harden tRTmetadataToFile test using netstat --- .../Online_Cobalt/test/tRTmetadataToFile.run | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/SubSystems/Online_Cobalt/test/tRTmetadataToFile.run b/SubSystems/Online_Cobalt/test/tRTmetadataToFile.run index 13198e887a9..2da44f7fe26 100755 --- a/SubSystems/Online_Cobalt/test/tRTmetadataToFile.run +++ b/SubSystems/Online_Cobalt/test/tRTmetadataToFile.run @@ -25,9 +25,19 @@ fi PVSSGatewayStub & gwPid=$! -# Wait until both services allow connections. This is faster than delaying ~RTmetadata(), -# since we do binary backoff connection attempts. This also keeps the delay in testing only. -sleep 2 # often 2 is enough, but when idle, even 5 may not be enough :(((( +# Wait until PVSSGatewayStub (and ServiceBroker if we started it) are listening. +# Just sleep X secs has proven both long and still unreliable. +# (Remaining risk: both services started but PVSSGatewayStub not yet registered at ServiceBroker.) +NETSTAT=/bin/netstat +gwReady=0 +sbReady=$((1-$sbPid)) +while [ $gwReady -eq 0 -o $sbReady -eq 0 ]; do + echo 'Waiting for PVSSGatewayStub and ServiceBroker listening sockets to show up in netstat...' >&2 + sleep 0.1 + netstatout=`"$NETSTAT" -l -p -A inet -n 2>/dev/null` + gwReady=`echo "$netstatout" | grep $gwPid/ | wc -l` + [ $sbPid -ne 0 ] && sbReady=`echo "$netstatout" | grep $sbPid/ | wc -l` +done ../../../MAC/MACIO/test/tRTmetadata > /dev/null # logging disrupts output verif -- GitLab