1908eaf68SStefan Hajnoczi#!/bin/bash 2713d76e8SChristoph Hellwig# 3713d76e8SChristoph Hellwig# Test handling of invalid patterns arguments to qemu-io 4713d76e8SChristoph Hellwig# 5713d76e8SChristoph Hellwig# Copyright (C) 2009 Red Hat, Inc. 6713d76e8SChristoph Hellwig# 7713d76e8SChristoph Hellwig# This program is free software; you can redistribute it and/or modify 8713d76e8SChristoph Hellwig# it under the terms of the GNU General Public License as published by 9713d76e8SChristoph Hellwig# the Free Software Foundation; either version 2 of the License, or 10713d76e8SChristoph Hellwig# (at your option) any later version. 11713d76e8SChristoph Hellwig# 12713d76e8SChristoph Hellwig# This program is distributed in the hope that it will be useful, 13713d76e8SChristoph Hellwig# but WITHOUT ANY WARRANTY; without even the implied warranty of 14713d76e8SChristoph Hellwig# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15713d76e8SChristoph Hellwig# GNU General Public License for more details. 16713d76e8SChristoph Hellwig# 17713d76e8SChristoph Hellwig# You should have received a copy of the GNU General Public License 18713d76e8SChristoph Hellwig# along with this program. If not, see <http://www.gnu.org/licenses/>. 19713d76e8SChristoph Hellwig# 20713d76e8SChristoph Hellwig 21713d76e8SChristoph Hellwig# creator 22713d76e8SChristoph Hellwigowner=hch@lst.de 23713d76e8SChristoph Hellwig 24713d76e8SChristoph Hellwigseq=`basename $0` 25713d76e8SChristoph Hellwigecho "QA output created by $seq" 26713d76e8SChristoph Hellwig 27713d76e8SChristoph Hellwighere=`pwd` 28713d76e8SChristoph Hellwigtmp=/tmp/$$ 29713d76e8SChristoph Hellwigstatus=1 # failure is the default! 30713d76e8SChristoph Hellwig 31713d76e8SChristoph Hellwig_cleanup() 32713d76e8SChristoph Hellwig{ 33713d76e8SChristoph Hellwig _cleanup_test_img 34713d76e8SChristoph Hellwig} 35713d76e8SChristoph Hellwigtrap "_cleanup; exit \$status" 0 1 2 3 15 36713d76e8SChristoph Hellwig 37713d76e8SChristoph Hellwig# get standard environment, filters and checks 38713d76e8SChristoph Hellwig. ./common.rc 39713d76e8SChristoph Hellwig. ./common.filter 40713d76e8SChristoph Hellwig 41713d76e8SChristoph Hellwig_supported_fmt generic 42*9cdfa1b3SMORITA Kazutaka_supported_proto generic 43713d76e8SChristoph Hellwig_supported_os Linux 44713d76e8SChristoph Hellwig 45713d76e8SChristoph Hellwig 46713d76e8SChristoph Hellwigsize=128M 47713d76e8SChristoph Hellwig_make_test_img $size 48713d76e8SChristoph Hellwig 49713d76e8SChristoph HellwigINVALID_PATTERNS="-1 300 12m 4k route66" 50713d76e8SChristoph HellwigTEST_OPS="writev read write readv aio_read aio_write" 51713d76e8SChristoph Hellwig 52713d76e8SChristoph Hellwigfor pattern in $INVALID_PATTERNS; do 53713d76e8SChristoph Hellwig for op in $TEST_OPS; do 54713d76e8SChristoph Hellwig echo 55713d76e8SChristoph Hellwig echo "== testing $op -P $pattern ==" 56713d76e8SChristoph Hellwig $QEMU_IO -c "$op -P $pattern 0 4096" $TEST_IMG | _filter_qemu_io 57713d76e8SChristoph Hellwig done 58713d76e8SChristoph Hellwigdone 59713d76e8SChristoph Hellwig 60713d76e8SChristoph Hellwig# success, all done 61713d76e8SChristoph Hellwigecho "*** done" 62713d76e8SChristoph Hellwigrm -f $seq.full 63713d76e8SChristoph Hellwigstatus=0 64