xref: /qemu/tests/qemu-iotests/021 (revision 9cdfa1b34e22bc09e80042b1ef3e4a5096f260d5)
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