Files
apfstests/131
T
Eric Sandeen c3d103e121 xfstests 131: kill locktest process in cleanup & better error msgs
I occasionally get failures in 131 like:

gethostbyname: Success

1) perror is the wrong thing for gethostbyname errors, so this
is confusing

2) the locktest thread doesn't get killed, so the fs
is busy and the next test fails when it can't unmount

Signed-off-by: Eric Sandeen <sandeen@sandeen.net>
Reviewed-by: Christoph Hellwig <hch@lst.de>
2010-01-17 10:29:23 -06:00

84 lines
1.9 KiB
Bash
Executable File

#! /bin/sh
# FSQA Test No. 131
#
# lock test created from CXFSQA test lockfile_simple
#
#-----------------------------------------------------------------------
# Copyright (c) 2006 Silicon Graphics, Inc. All Rights Reserved.
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License as
# published by the Free Software Foundation.
#
# This program is distributed in the hope that it would be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write the Free Software Foundation,
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
#
#-----------------------------------------------------------------------
#
# creator
owner=allanr@sgi.com
seq=`basename $0`
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
kill $locktest_pid1
_cleanup_testdir
}
# get standard environment, filters and checks
. ./common.rc
. ./common.filter
# real QA test starts here
_supported_fs generic
_supported_os Linux
_setup_testdir
TESTFILE=$testdir/lock_file
# Grab a port which is hopefully unused
if [ $$ -gt 1024 -a $$ -lt 32000 ]; then
PORT=$$
elif [ $$ -lt 1024 ]; then
PORT=$(($$+1024))
elif [ $$ -gt 32000 ]; then
PORT=$(($$%30000+1024))
fi
# Start the server
src/locktest -p $PORT $TESTFILE > $testdir/server.out 2>&1 &
locktest_pid1=$!
sleep 1
# Start the client
src/locktest -p $PORT -h localhost $TESTFILE > $testdir/client.out 2>&1
locktest_pid2=$!
result=$?
if [ $result -eq 0 ]; then
echo success!
else
echo "Client reported failure ($result)"
cat $testdir/*.out
_cleanup
exit $status
fi
status=0
exit