Files
apfstests/tests/generic/131
T
zhangxiaoxu 00467499 2caa208e3a generic/131: Create server.out manually.
When test generic/131 on nfs, the 'server.out' maybe create
later than expect. Because the server is running on background,
we should ensure the 'server.out' is exist before 'cat' it.

So, let's create the server.out manually.

Signed-off-by: ZhangXiaoxu <zhangxiaoxu5@huawei.com>
Reviewed-by: Eryu Guan <guaneryu@gmail.com>
Signed-off-by: Eryu Guan <guaneryu@gmail.com>
2019-03-23 16:29:16 +08:00

79 lines
1.5 KiB
Bash
Executable File

#! /bin/bash
# SPDX-License-Identifier: GPL-2.0
# Copyright (c) 2006 Silicon Graphics, Inc. All Rights Reserved.
#
# FSQA Test No. 131
#
# lock test created from CXFSQA test lockfile_simple
#
seq=`basename $0`
seqres=$RESULT_DIR/$seq
echo "QA output created by $seq"
here=`pwd`
tmp=/tmp/$$
status=1 # failure is the default!
trap "_cleanup; exit \$status" 0 1 2 3 15
_cleanup()
{
kill $locktest_pid2 > /dev/null 2>&1
kill $locktest_pid1 > /dev/null 2>&1
}
# get standard environment, filters and checks
. ./common/rc
. ./common/filter
# real QA test starts here
_supported_fs generic
_supported_os Linux
_require_test
_require_test_fcntl_advisory_locks
TESTFILE=$TEST_DIR/lock_file
rm -f $TEST_DIR/server.out
touch $TEST_DIR/server.out
# Start the server
src/locktest $TESTFILE 2>&1 > $TEST_DIR/server.out &
locktest_pid1=$!
timeout=30
while [ $timeout -gt 0 ]; do
sleep 1
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 "Server died abnormally"
exit 1
fi
let timeout=timeout-1
done
if [ -z "$PORT" ]; then
echo "Could not get server port"
exit 1
fi
# Start the client
src/locktest -p $PORT -h localhost $TESTFILE 2>&1 > $TEST_DIR/client.out
locktest_pid2=$!
result=$?
if [ $result -eq 0 ]; then
echo success!
status=0
else
echo "Client reported failure ($result)"
cat $TEST_DIR/*.out
fi
exit