2001-01-15 05:01:19 +00:00
|
|
|
#! /bin/sh
|
|
|
|
|
#
|
2004-06-15 07:32:36 +00:00
|
|
|
# FS QA Test No. 003
|
2001-01-15 05:01:19 +00:00
|
|
|
#
|
|
|
|
|
# exercise xfs_db bug #784078
|
|
|
|
|
#
|
|
|
|
|
#-----------------------------------------------------------------------
|
2002-06-04 23:07:56 +00:00
|
|
|
# Copyright (c) 2000-2001 Silicon Graphics, Inc. All Rights Reserved.
|
2001-01-15 05:01:19 +00:00
|
|
|
#-----------------------------------------------------------------------
|
|
|
|
|
#
|
|
|
|
|
# creator
|
2003-06-24 06:21:22 +00:00
|
|
|
owner=nathans@sgi.com
|
2001-01-15 05:01:19 +00:00
|
|
|
|
|
|
|
|
seq=`basename $0`
|
|
|
|
|
echo "QA output created by $seq"
|
|
|
|
|
|
|
|
|
|
# get standard environment, filters and checks
|
|
|
|
|
. ./common.rc
|
|
|
|
|
. ./common.filter
|
|
|
|
|
|
|
|
|
|
tmp=/tmp/$$
|
|
|
|
|
here=`pwd`
|
|
|
|
|
status=0 # success is the default!
|
|
|
|
|
trap "rm -f $tmp.*; exit \$status" 0 1 2 3 15
|
|
|
|
|
|
|
|
|
|
_need_to_be_root
|
|
|
|
|
|
|
|
|
|
# real QA test starts here
|
2004-06-15 07:32:36 +00:00
|
|
|
_supported_fs xfs
|
|
|
|
|
_supported_os IRIX Linux
|
2001-01-15 05:01:19 +00:00
|
|
|
|
|
|
|
|
[ -f core ] && rm -f core
|
|
|
|
|
[ -f core ] && echo "Warning: can't nuke existing core file!"
|
|
|
|
|
|
|
|
|
|
test_done()
|
|
|
|
|
{
|
|
|
|
|
sts=$?
|
|
|
|
|
[ -f core ] && echo "FAILED - core file"
|
|
|
|
|
[ ! -f core -a $sts != 0 ] && echo "FAILED - non-zero exit status"
|
|
|
|
|
rm -f core
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
# real QA test starts here
|
|
|
|
|
|
|
|
|
|
echo "=== TEST 1 ==="
|
|
|
|
|
xfs_db -r -c 'pop' -c 'type sb' $TEST_DEV
|
|
|
|
|
test_done
|
|
|
|
|
|
|
|
|
|
echo "=== TEST 2 ==="
|
|
|
|
|
xfs_db -r -c 'push sb' $TEST_DEV
|
|
|
|
|
test_done
|
|
|
|
|
|
|
|
|
|
echo "=== TEST 3 ==="
|
|
|
|
|
xfs_db -r -c 'pop' -c 'push sb' $TEST_DEV
|
|
|
|
|
test_done
|
|
|
|
|
|
|
|
|
|
echo "=== TEST 4 ==="
|
|
|
|
|
xfs_db -r -c 'type sb' -c 'print' $TEST_DEV
|
|
|
|
|
test_done
|
|
|
|
|
|
|
|
|
|
echo "=== TEST 5 ==="
|
|
|
|
|
xfs_db -r -c 'inode 128' -c 'push' -c 'type' $TEST_DEV >$tmp.out 2>&1
|
|
|
|
|
test_done
|
2004-06-21 08:20:53 +00:00
|
|
|
# On IRIX we lose state after a "push" operation and don't
|
|
|
|
|
# know the type is still inode
|
|
|
|
|
# Probably not worth changing xfs_db on IRIX for this.
|
|
|
|
|
if [ "$HOSTOS" != "IRIX" ]; then
|
|
|
|
|
if ! grep -q "current type is \"inode\"" $tmp.out
|
|
|
|
|
then
|
|
|
|
|
cat $tmp.out
|
|
|
|
|
fi
|
2001-01-15 05:01:19 +00:00
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
echo "=== TEST 6 ==="
|
|
|
|
|
xfs_db -r -c 'sb' -c 'a' $TEST_DEV >$tmp.out 2>&1 # don't care about output
|
|
|
|
|
test_done
|
|
|
|
|
|
|
|
|
|
echo "=== TEST 7 ==="
|
|
|
|
|
xfs_db -r -c 'ring' $TEST_DEV
|
|
|
|
|
test_done
|