#! /bin/bash
# FS QA Test No. 211
#
# Run aio-free-ring-with-bogus-nr-pages - test aio_setup_ring with bad nr_pages
#
#-----------------------------------------------------------------------
# Copyright (c) 2009 Eric Sandeen.  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=sandeen@sandeen.net

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()
{
    cd /
    rm -f $tmp.*
}

# get standard environment, filters and checks
. ./common.rc
. ./common.filter

# real QA test starts here

_supported_fs generic
_supported_os Linux

rm -f $TEST_DIR/aio-testfile
AIO_TEST=src/aio-dio-regress/aio-free-ring-with-bogus-nr-pages
[ -x $AIO_TEST ] || _notrun "$AIO_TEST not built"
$AIO_TEST $TEST_DIR/aio-testfile 2>&1
status=$?
rm -f $TEST_DIR/aio-testfile

exit $status
