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