Files
apfstests/tests/generic/131
T
Dave Chinner 627427bb1b xfstests: fix broken redirects in generic/131
generic/131 attempts to kill processes that may no longer exist when
the test finishes and has a broken redirect for the error messages
and they end up in a file named "1" in the xfstests root instead of
/dev/null.

Not only that, the attempts to redirect stderr to stdout in the
middle of the test use incorrect redirect syntax, so they create an
empty file named "1" in the xfstests root...

IOWs, all the redirects in the test are broken. Fix them and clean
up the failure case to use the exit trap to trigger the cleanup
function....

Signed-off-by: Dave Chinner <dchinner@redhat.com>
Reviewed-by: Rich Johnston <rjohnston@sgi.com>
Signed-off-by: Rich Johnston <rjohnston@sgi.com>
2013-05-03 09:22:13 -05:00

81 lines
1.9 KiB
Bash
Executable File

#! /bin/bash
# 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
#
#-----------------------------------------------------------------------
#
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
_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 2>&1 > $testdir/server.out &
locktest_pid1=$!
sleep 1
# Start the client
src/locktest -p $PORT -h localhost $TESTFILE 2>&1 > $testdir/client.out
locktest_pid2=$!
result=$?
if [ $result -eq 0 ]; then
echo success!
status=0
else
echo "Client reported failure ($result)"
cat $testdir/*.out
fi
exit