1*8d9eb33cSStefan Hajnoczi#!/bin/bash 2*8d9eb33cSStefan Hajnoczi# 3*8d9eb33cSStefan Hajnoczi# Test short file I/O 4*8d9eb33cSStefan Hajnoczi# 5*8d9eb33cSStefan Hajnoczi# Copyright (C) 2014 Red Hat, Inc. 6*8d9eb33cSStefan Hajnoczi# 7*8d9eb33cSStefan Hajnoczi# This program is free software; you can redistribute it and/or modify 8*8d9eb33cSStefan Hajnoczi# it under the terms of the GNU General Public License as published by 9*8d9eb33cSStefan Hajnoczi# the Free Software Foundation; either version 2 of the License, or 10*8d9eb33cSStefan Hajnoczi# (at your option) any later version. 11*8d9eb33cSStefan Hajnoczi# 12*8d9eb33cSStefan Hajnoczi# This program is distributed in the hope that it will be useful, 13*8d9eb33cSStefan Hajnoczi# but WITHOUT ANY WARRANTY; without even the implied warranty of 14*8d9eb33cSStefan Hajnoczi# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15*8d9eb33cSStefan Hajnoczi# GNU General Public License for more details. 16*8d9eb33cSStefan Hajnoczi# 17*8d9eb33cSStefan Hajnoczi# You should have received a copy of the GNU General Public License 18*8d9eb33cSStefan Hajnoczi# along with this program. If not, see <http://www.gnu.org/licenses/>. 19*8d9eb33cSStefan Hajnoczi# 20*8d9eb33cSStefan Hajnoczi 21*8d9eb33cSStefan Hajnoczi# creator 22*8d9eb33cSStefan Hajnocziowner=stefanha@redhat.com 23*8d9eb33cSStefan Hajnoczi 24*8d9eb33cSStefan Hajnocziseq=`basename $0` 25*8d9eb33cSStefan Hajnocziecho "QA output created by $seq" 26*8d9eb33cSStefan Hajnoczi 27*8d9eb33cSStefan Hajnoczihere=`pwd` 28*8d9eb33cSStefan Hajnoczitmp=/tmp/$$ 29*8d9eb33cSStefan Hajnoczistatus=1 # failure is the default! 30*8d9eb33cSStefan Hajnoczi 31*8d9eb33cSStefan Hajnoczi_cleanup() 32*8d9eb33cSStefan Hajnoczi{ 33*8d9eb33cSStefan Hajnoczi _cleanup_test_img 34*8d9eb33cSStefan Hajnoczi} 35*8d9eb33cSStefan Hajnoczitrap "_cleanup; exit \$status" 0 1 2 3 15 36*8d9eb33cSStefan Hajnoczi 37*8d9eb33cSStefan Hajnoczi# get standard environment, filters and checks 38*8d9eb33cSStefan Hajnoczi. ./common.rc 39*8d9eb33cSStefan Hajnoczi. ./common.filter 40*8d9eb33cSStefan Hajnoczi 41*8d9eb33cSStefan Hajnoczi_supported_fmt raw 42*8d9eb33cSStefan Hajnoczi_supported_proto file 43*8d9eb33cSStefan Hajnoczi_supported_os Linux 44*8d9eb33cSStefan Hajnoczi 45*8d9eb33cSStefan Hajnoczi 46*8d9eb33cSStefan Hajnocziecho 47*8d9eb33cSStefan Hajnocziecho "== creating short image file ==" 48*8d9eb33cSStefan Hajnoczidd if=/dev/zero of="$TEST_IMG" bs=1 count=320 49*8d9eb33cSStefan Hajnoczi 50*8d9eb33cSStefan Hajnocziecho 51*8d9eb33cSStefan Hajnocziecho "== reading bytes beyond EOF gives zeroes ==" 52*8d9eb33cSStefan Hajnoczi$QEMU_IO -c "read -P 0 0 512" "$TEST_IMG" | _filter_qemu_io 53*8d9eb33cSStefan Hajnoczi 54*8d9eb33cSStefan Hajnoczi 55*8d9eb33cSStefan Hajnoczi# success, all done 56*8d9eb33cSStefan Hajnocziecho "*** done" 57*8d9eb33cSStefan Hajnoczirm -f $seq.full 58*8d9eb33cSStefan Hajnoczistatus=0 59