[PATCH 3/5] generic/131: wait until the server is ready

[Date Prev] [Date Next] [Thread Prev] [Thread Next] [Date Index] [Thread Index]



When running xfstests under KVM VM and the load of host is high,
only delaying 1s and checking the readiness of server are not
enough, and the test case will fail early.

Fix it by repeatedly checking the readiness signal until it's found,
or the server exits.

Signed-off-by: Hou Tao <houtao1@xxxxxxxxxx>
---
 tests/generic/131 | 19 +++++++++++++------
 1 file changed, 13 insertions(+), 6 deletions(-)

diff --git a/tests/generic/131 b/tests/generic/131
index d7c146ae..1af86e77 100755
--- a/tests/generic/131
+++ b/tests/generic/131
@@ -37,13 +37,20 @@ TESTFILE=$TEST_DIR/lock_file
 src/locktest $TESTFILE 2>&1 > $TEST_DIR/server.out &
 locktest_pid1=$!
 
-sleep 1
+while true; do
+	sleep 1
 
-PORT=$(cat $TEST_DIR/server.out | grep "^server port: " | awk '{print $3}')
-if [ -z $PORT ]; then
-	echo "Could not get server port"
-	exit 1
-fi
+	PORT=$(cat $TEST_DIR/server.out | grep "^server port: " | awk '{print $3}')
+	if [ -n "$PORT" ]; then
+		break
+	fi
+
+	# check the existence of server process
+	if ! kill -s 0 $locktest_pid1 >/dev/null 2>&1; then
+		echo "Could not get server port"
+		exit 1
+	fi
+done
 
 # Start the client
 src/locktest -p $PORT -h localhost $TESTFILE 2>&1 > $TEST_DIR/client.out
-- 
2.16.2.dirty




[Index of Archives]     [Linux Filesystems Development]     [Linux NFS]     [Linux NILFS]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux