common/locktest: Add common locktest functions
[xfstests-dev.git] / tests / generic / 131
index 9990f38b26a33b7c1a6e8049b9cadfab6860c984..f086bc9840c1a7a846b429c6951a4f251b8742c5 100755 (executable)
@@ -13,20 +13,13 @@ 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
-
-TESTFILE=$TEST_DIR/lock_file
-
-_cleanup()
-{
-       kill $client_pid > /dev/null 2>&1
-       kill $server_pid > /dev/null 2>&1
-       rm -f $TESTFILE
-}
 
 # get standard environment, filters and checks
 . ./common/rc
 . ./common/filter
+. ./common/locktest
+
+trap "_cleanup; exit \$status" 0 1 2 3 15
 
 # real QA test starts here
 _supported_fs generic
@@ -34,71 +27,6 @@ _supported_os Linux
 _require_test
 _require_test_fcntl_advisory_locks
 
-# set up log files
-SERVER_LOG=$TEST_DIR/server.out
-rm -f $SERVER_LOG
-touch $SERVER_LOG
-SERVER_PORT=$TEST_DIR/server.port
-rm -f $SERVER_PORT
-touch $SERVER_PORT
-CLIENT_LOG=$TEST_DIR/client.out
-rm -f $CLIENT_LOG
-touch $CLIENT_LOG
-
-touch $TESTFILE
-
-function dump_logs_fail()
-{
-       fail_str=$1
-
-       echo "     ***** Client log *****" >> $seqres.full
-       cat $CLIENT_LOG >> $seqres.full
-       echo "     ***** Server log *****" >> $seqres.full
-       cat $SERVER_LOG >> $seqres.full
-       echo "     ***** End file details *****" >> $seqres.full
-       ls -la $TESTFILE >> $seqres.full
-       _fail $fail_str
-       exit 1
-}
-
-# Start the server
-src/locktest $TESTFILE 2> $SERVER_LOG 1> $SERVER_PORT &
-server_pid=$!
-
-timeout=30
-while [ $timeout -gt 0 ]; do
-       sleep 1
-
-       PORT=$(cat $SERVER_PORT | grep "^server port: " | awk '{print $3}')
-       if [ -n "$PORT" ]; then
-               break
-       fi
-
-       # check the existence of server process
-       if ! kill -s 0 $server_pid >/dev/null 2>&1; then
-               dump_logs_fail "Server died abnormally"
-       fi
-
-       let timeout=timeout-1
-done
-
-if [ -z "$PORT" ]; then
-       dump_logs_fail "Could not get server port"
-fi
-
-# Start the client
+_run_locktest
 
-src/locktest -p $PORT -h localhost $TESTFILE 2> $CLIENT_LOG
-client_result=$?
-client_pid=$!
-if [ $client_result -ne 0 ]; then
-       dump_logs_fail "Client reported failure ($client_result)"
-fi
-wait $server_pid
-server_result=$?
-if [ $server_result -ne 0 ]; then
-       dump_logs_fail "Server reported failure ($server_result)"
-fi
-echo success!
-status=0
 exit